Используйте этот код в вашем корневом контроллере (или во всех ваших контроллерах представления, для которых вы хотите иметь скрытую панель навигации. Однако см. [1]), чтобы скрыть / показать панель навигации в соответствии с тем, к чему вы стремитесь:
- (void)viewDidLoad {
...
[self.navigationController setNavigationBarHidden:YES animated:NO];
...
}
- (void)viewWillAppear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:YES animated:animated];
....
}
- (void)viewWillDisappear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:NO animated:animated];
...
}
Это просто возможное решение. Вы можете оставить viewWillDisappear
неопределенным в своих некорневых контроллерах и определить viewWillAppear
в своем корневом контроллере ... как вы считаете, наиболее удобным для вас.
[1] Скрытие панели навигации в любом месте, кроме корневого контроллера, позволяет застрять в середине иерархии навигации. Кроме того, использование интуитивно понятной навигации в приложении для iOS не позволяет внезапно скрыть панель навигации для чего-либо, кроме корневого представления.)