Панель навигации перекрывает строку состояния для вложенного UINavigationController, когда скрывается одна панель навигации.
Я сталкиваюсь с тем, что кажется неправильным поведением. У меня есть один UINavigationController, который содержит в себе tabBarController. Этот tabBarController имеет более 5 вкладок, так что есть кнопка more, которая загружает MoreController navigationController. Конечно, это создает вложенные навигационные контроллеры, поэтому я хочу скрыть одну из панелей навигации.
Я делаю это, делая мой ApplicationDelegate UINavigationControllerDelegate:
[[tabBarController moreNavigationController] setDelegate:[UIApplication sharedApplication].delegate];
И реализации:
(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
navigationController.navigationController.navigationBarHidden = YES;
}
Тем не менее, я в конечном итоге с перекрытием строки состояния:
Теперь, если я добавлю некоторый код для исправления фрейма вручную, в строке состояния все еще будет какое-то странное наложение цветов, и теперь под панелью навигации будет черный разрыв. Что дает?