Панель навигации расположена ниже скрытой строки состояния
Исходя из TableView, я создаю MKMapView. Я хочу иметь больше экранного пространства, поэтому я скрываю строку состояния и настраиваю панель навигации на полупрозрачную.
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.translucent = NO;
К сожалению, панель навигации расположена ниже скрытой строки состояния (см. Рисунок).
Я уже выяснил, что это может помочь, поскольку можно выполнить перезагрузку панели в основном цикле событий:
[self performSelector:@selector(setNavigationController:YES) withObject:nil afterDelay:0.1];
Но это пока не работает. Любой намек?
Заранее спасибо.
2 ответа
Решение
Хорошо, я узнал, что делать:
[self performSelector:@selector(setNavigationController:NO) withObject:nil afterDelay:0.1];
[self performSelector:@selector(setNavigationController:YES) withObject:nil afterDelay:0.1];
Это выключает и снова включает навигационную панель, что заставляет ее перерисовываться в правильном положении.
Я использую это в iOS 6:
self.navigationController.navigationBarHidden = YES;
self.navigationController.navigationBarHidden = NO;