2014-07-28 3 views
0

назад У меня есть 3 контроллеров просмотра, и все они соединены друг с другом так:Скрытие UINavigationBar после удара кнопки

vc1 -> vc2 -> vc3 

В видовом контроллере 1 и 2, у меня есть навигационная панель скрыта, как так:

elf.navigationController.navigationBarHidden = NO; 

Третий контроллер просмотра показывает навигационную панель и имеет кнопку возврата слева. Когда я нажимаю кнопку «Назад», он переходит к контроллеру 2, но панель навигации больше не скрыта. Как скрыть его снова?

ответ

0

Используйте этот простой код в Третий вид контроллера

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

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

Я рекомендую использовать анимированный флаг от появляющихся методов вместо того, чтобы всегда использовать ДА. Например: [self.navigationController setNavigationBarHidden: YES animated: animated]; Это будет хорошо работать, если контроллер просмотра будет представлен анимированным или нет. – SomeGuy

1

писать этот код в методе viewWillAppear в viewController1 и viewController2

-(void)viewWillAppear:(BOOL)animated{ 
    self.navigationController.navigationBarHidden = YES; 
} 

Благодаря

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