как скрыть панель навигации, когда я нажимаю с помощью навигационного контроллера?
-
06-07-2019 - |
Вопрос
как скрыть верхнюю панель в UIViewController ( пользовательский контроллер ) когда я нажимаю с навигационного контроллера, используя Контроллер pushViewController ?пожалуйста, любая помощь?
Решение
Поместите этот код в контроллер представления, для которого вы хотите скрыть панель навигации.
- (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];
}
Другие советы
Вот как это сделать в Быстрый 3:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: animated)
}
P.S.Я обнаружил, что если вы установите animated равным false
, при нажатии появляется черная полоса.Но когда он установлен на true
она гладкая, как шелк!
Для iOS 8 Может быть, эта работа может обойтись
CATransition* transition = [CATransition animation];
transition.duration = 0.3;
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[self.navigationController setNavigationBarHidden:TRUE animated:FALSE];
[self.navigationController pushViewController:productViewObj animated:FALSE];
[productViewObj.navigationController setNavigationBarHidden:TRUE animated:FALSE];
[productViewObj release];
Не связан с StackOverflow