Панель навигации расположена ниже скрытой строки состояния

Исходя из 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;
Другие вопросы по тегам