2013-09-18 5 views
10

В настоящее время главная страница моего приложения скрывает панель навигации; однако, всякий раз, когда я пытаюсь перевести этот контроллер на следующий viewController, он также скрывает эту панель навигации. Я в настоящее время это контроллер вид без навигационной панели:Навигационная панель исчезает при нажатии на следующий viewController

[self.navigationController pushViewController: mapView animated:YES]; 

Всякий раз, когда это толкает к следующему это не один больше. Следующая панель навигации viewController находится в методе viewWillAppear, поэтому она должна отображаться. Есть идеи?

ОТВЕТ:

Если вы скрыть панель навигации в ViewController и хотите, чтобы показать его в следующей затем используйте следующий код:

someVC *VC = [[someVC alloc] init]; 
self.navigationController.navigationBarHidden=NO; 
[self.navigationController pushViewController: VC animated:YES]; 

@ LithuT.V и @Tendulkar Спасибо!

+0

на домашней странице, как вы скрываете навигационную панель? Какой размер VC и какое устройство вы тестируете? –

+0

Я спрятал его с кодом выше. Оба представления ViewController имеют одинаковый размер. – Lalalalalala

+0

Всякий раз, когда я показываю навигационную панель, а затем pushViewController появляется панель навигации. – Lalalalalala

ответ

5

Записать этот код в методе ViewDidload из MAPview

[self.navigationController.navigationBar setHidden:NO]; 
+1

'self.navigationController.navigationBarHidden = NO' тоже работает, и ему не нужно напрямую обращаться к navigationBar или его свойствам. –

1

Я думаю, ваши прячет свой Navbar от раскадровки, попробуйте следующий код:

//Show navigationBar for a particular VC 

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

-(void)viewWillDisappear:(BOOL)animated 
{ 
    [self.navigationController setNavigationBarHidden:YES]; 
} 
0

Добавить self.navigationController.navigationBarHidden = NO; в ваших следующих viewControllers -(void)viewWillAppear:(BOOL)animated метода ,

Это покажет панель навигации для ViewController

2

Я провел два часа, пытаясь показать свою панель навигации на контроллере представления толкаемом из другого видеоредактора.

Обратите внимание, что в основной раскадровке необходим только один контроллер навигации, затем для вашего контроллера просмотра, где панель навигации исчезает, скройте его и снова покажите по следующему коду.

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    [self.navigationController setNavigationBarHidden:YES animated:YES]; 
    [self.navigationController setNavigationBarHidden:NO animated:YES]; 
} 
+0

У меня странная проблема, навигационная панель скрывается только в первый раз после установки, я нажимаю viewcontroller из раскадровки sdk. Я надеюсь, что ваше решение работает от меня .. спасибо –

Смежные вопросы