У меня есть приложение с главной страницей - скрытая панель навигации, а когда я возвращаюсь с дочерней страницы с навигационной панелью на эту главную страницу, потому что я настроил навигацию скрытой в методе главной страницы: - (void) viewWillAppear, я обнаружил, что черный ящик появится с анимацией, как этого избежать? Большое спасибо!!!Как избежать появления черного ящика при скрытии навигационной панели?
0
A
ответ
8
Ok, я нахожу ответ:
self.navigationController.view.backgroundColor = [UIColor redColor];
4
Это устраняет проблему без взлома цвета, что может привести к контроллерам навигации являются неправильным цветом.
Просто установите его анимировать в viewWillAppear :)
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
и если вернуться к странице с множеством контроллер нав анимации для NO
- (IBAction)backButtonClicked:(id)sender {
[self.navigationController setNavigationBarHidden:NO animated:NO];
[self.navigationController popToRootViewControllerAnimated:YES];
}
+0
анимированные: ДА. Кто бы мог подумать? –
+2
меня, по-видимому: -p –
0
Для Swift3.0
In First ViewController
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
В Second ViewController
func backButtonPressed() {
self.navigationController?.setNavigationBarHidden(false, animated: false)
self.navigationController?.popViewController(animated: true)
}
работал для меня :) – Garfbargle
Спасибо за этой черной магии. – felixwcf