У меня проблема, вызванная тем, что строка состояния скрыта, а затем снова появляется, что делает ее изменением положения навигации после того, как он отображается под строкой состояния, отображается за ним. то есть верхняя часть панели навигации больше не может быть замечена, поскольку строка состояния находится поверх нее.Если я скрою строку состояния, а затем снова запустим ее, позиция навигационной панели сдвинется вверх
Моя программа построена таким образом, что у меня есть контроллер представления корня, который отображает строку состояния и панель навигации, контроллер зрения содержится в навигационном контроллере т.е.
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.myTableViewController];
self.window.rootViewController = navController;
Точка зрения контроллера содержит представление таблицы и если пользователь выбирает строку, то другой контроллер создается и помещается в стек навигационного контроллера.
Этот новый контроллер просмотра скрывает строку состояния, а также скрывает навигационную панель, если пользователь не нажимает экран, и в этом случае появляется панель навигации (а также ее полупрозрачная, которой она не является в контроллере родительского представления).
Моя проблема заключается в том, что когда пользователь переходит с этого контроллера представления обратно на контроллер представления таблиц, теперь панель навигации отображается за панель состояния.
У меня есть следующий код в представлении вида таблицыWillAppear: который, как я думал, должен вернуть все обратно к тому, как это было.
- (void)viewWillAppear:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden: NO withAnimation: UIStatusBarAnimationFade];
self.navigationController.navigationBar.translucent = NO;
[self.navigationController setNavigationBarHidden:NO animated:YES];
Почему панель навигации отображается за панель состояния при повторном представлении таблицы?
Благодаря