2010-07-10 3 views
0

Я использую это на мой взгляд didlod [self.navigationController setNavigationBarHidden: YES]; он скрывается, когда приложение запускается, но когда я перехожу к следующему экрану и возвращаюсь к главному виду, не скрываю его навигационную панель ... Почему это так?Навигационная панель видна, когда я перехожу к основному виду

Должен ли я добавить что-нибудь?

....

+0

Вам не хватает нескольких тегов. Начнем с: для какой платформы это? –

ответ

4

Это работает для меня:

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

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

Вы не тогда нужен один в viewDidLoad.

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

+0

да его работы для меня, спасибо –

+0

я хочу добавить обратно землю изображение к навигации контроллера корневого зрения я использую \t self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @ «background.png»]]; не работает –

+0

Рад, что он работает! Вы должны задать свой фоновый вопрос в качестве нового вопроса, чтобы все его видели. – JosephH

0

viewDidLoad запускается только при первом загрузке вашего изображения. viewWillAppear срабатывает каждый раз.

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