Я испытываю какое-то странное поведение со скрытием и показом UINavigationBar.self.navigationController.navigationBar setHidden: НЕТ не работает, когда диспетчеры просмотра заменены.
В моем viewWillAppear
метода, который я звоню это:
self.navigationController.navigationBar.hidden = YES;
и когда пользователь нажимает на кнопку Я звоню это:
self.navigationController.navigationBar.hidden = NO;
, а затем замену из текущего контроллера просмотра с помощью свойство viewControllers пользовательского UINavigationController.
Это работает нормально, но если я попытаюсь показать навигационную панель с использованием той же строки в методе viewWillDisappear
, это не сработает. Навигация по-прежнему скрыт.
Я могу показать/скрыть строку состояния в viewWillDisappear
, используя следующий метод:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
но показывает/скрывает UINavigationBar не работает!
EDIT: Кроме того, self.navigationController.isNavigationBarHidden
возвращает NO
после того, как попытаюсь показать планку в viewWillDisappear
, но планка по-прежнему скрыта.
Любая помощь будет принята с благодарностью. Спасибо!
Что именно вы подразумеваете под "заменой"? – jakenberg
Жаль, что я не понял. Я имел в виду в моем подклассе UINavigationController У меня есть метод, который изменяет контроллеры представлений. Например: 'self.viewControllers = @ [viewController1];' где viewController1 - это новый контроллер, который я хочу видеть на экране, чтобы заменить текущий контроллер представления. –