2014-01-26 5 views
-1

Я хочу, чтобы каждое из моих трех видов имело кнопку «Nav». Когда вы нажимаете на эту кнопку, открывается модальный вид с тремя кнопками. Каждая кнопка (например: View 1, View 2 ..) приведет вас к соответствующему виду, но по какой-то причине после этого навигатор (со статусной строкой, заголовком и т. Д.) Скрыт.presentViewController скрывает навигационный контроллер (iOS7)

Это то, что мои действия:

mainNavController.h

- (IBAction)openUpcomingReleases:(id)sender { 
    UpcomingReleasesViewController *upcomingReleases = [self.storyboard instantiateViewControllerWithIdentifier: @"upcomingReleases"]; 
    upcomingReleases.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
    [self presentViewController:upcomingReleases animated:YES completion:nil]; 
} 

Спасибо.

+1

Почему вы используете раскадровки и не используете segues? – nhgrif

+1

Если вы используете раскадровку, вы должны научиться делать segues. Если вы хотите, чтобы представленный вид содержался в контроллере навигации, это определенно не тот код, который вы ищете. – nhgrif

+0

Я точно не знаю, что вы хотите сделать. Если вы хотите скрыть кнопку «Назад», вы должны, вероятно, представить вид по-разному. И тот факт, что навигация нет, есть большой ключ к конечному пользователю, что они не могут просто вернуться из этого представления, они должны сделать что-то еще. – nhgrif

ответ

3

Все здесь работает по назначению.

Навигационная панель навигационного контроллера будет отображаться только для контроллеров представлений, которые содержатся в этом навигационном контроллере. Здесь вы представляете модальное представление. Он не содержится в контроллере навигации.

Если вы хотите навигационный бар продолжать появляться:

  • Если это сугубо дело вкуса, ставить навигацию бар на модальной сцене вы представляя в интерфейсе строителе.
  • Если вам необходимо представить представление, которое должно содержаться в контроллере навигации, то вам необходимо представить контроллер навигации, а не контроллер вида.
  • И, наконец, если представленный вами вид должен быть частью навигационного стека контроллера навигации, вам необходимо представить его нажатием, а не модальным сегментом.
1
 
Embed a UINavigation controller to the upcomingReleases View Controller 

and give StoryBoard Id for the navigation controller as upcomingReleasesNavi 

then write the code , it will present with Navigation bar. 

- (IBAction)openUpcomingReleases:(id)sender { 

       UIViewController *svc =[self.storyboard instantiateViewControllerWithIdentifier 
:@"upcomingReleasesNavi"]; 

       svc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
       [self presentViewController:svc animated:YES completion:nil]; 
} 
Смежные вопросы