2013-02-14 3 views
6

В одном из моих представлений при нажатии кнопки я вызываю другой вид, который является SplitViewController. Если этот SplitViewController вызывается через одну из этих кнопок, у меня есть специальные объекты для добавления в представление. в основном просто элементы навигационной панели, такие как кнопка отмены. Это представление можно получить в другом месте, и эти элементы не нужны, поэтому существует особое условие.Nav Bar исчезает на popviewcontroller

Однако, когда пользователь закончил, и я вытащил ViewController обратно на предыдущий экран, который был выбран, панель навигации исчезает на этом экране. Я не привязываю его к скрытому, и я ничего не делаю с навигационной панелью. Просто добавив SplitViewController, а затем выскочил обратно.

Некоторый код ..

//declare the split screen VC 
SplitScreenViewController *split = [[SplitScreenViewController alloc] init]; 

//set the flag that this VC is coming from a button, so we need the extra nav bar items 
[split setIsFromButton:YES]; 
[self.navigationController pushViewController:split animated:YES]; 

теперь перезванивают просто ...

- (void)cancelSelectionBtnClicked 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

и когда вид возвращается, бар нав ушел.

любые идеи?

Редактировать Следует отметить, что это то же самое делается в другом месте одинаково (насколько я могу судить), и навигационная панель видна при возврате.

+0

Ну, я добавил в navbarhidden = NO, чтобы быть уверенным, и это, казалось, исправить. поэтому где-то бар скрывается. – JMD

ответ

9

В вашем окне ViewController viewWillAppear вы можете снова сделать видимым navigationBar.

- (void)viewWillAppear:(BOOL)animated 
{ 
    [self.navigationController setNavigationBarHidden:NO]; 
} 
+0

Спасибо за это. У меня была такая же проблема, как и у OP. – Pangu

1

Я видел различные странные поведения навигатора в UISplitViewController, и в некоторых случаях это было потому, что контроллер не был установлен как rootViewController окна, а не внутри контроллера навигации, как вы настроили.

+0

Проблема не на самом деле в UISplitViewController. Он отображается нормально. Проблема возникает на экране, который подталкивает SplitView к стекю navigationController. Когда splitView вызывается, навигационная панель исчезает. – JMD

+0

Я понимаю, но я видел, как он плохо взаимодействует, когда ниже других контроллеров. Apple говорит, что контроллер разделенного представления должен быть корневым: http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/SplitViewControllers.html –