Панель навигации расположена ниже скрытой строки состояния - PullRequest
0 голосов
/ 30 января 2012

исходя из TableView, я создаю MKMapView. Я хочу иметь больше экранного пространства, поэтому я скрываю строку состояния и устанавливаю панель навигации в полупрозрачный.

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.translucent = NO;

К сожалению, панель навигации расположена ниже скрытой строки состояния (см. Рисунок).

enter image description here

Я уже обнаружил, что это может помочь, поскольку можно выполнить перезагрузку бара в главном цикле событий:

[self performSelector:@selector(setNavigationController:YES) withObject:nil afterDelay:0.1];

Но пока это не работает. Любой намек?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 30 января 2012

Хорошо, я выяснил, что делать:

[self performSelector:@selector(setNavigationController:NO) withObject:nil afterDelay:0.1];
[self performSelector:@selector(setNavigationController:YES) withObject:nil afterDelay:0.1];

Это выключает и снова включает навигационную панель, заставляя ее перерисовываться в правильном положении.

0 голосов
/ 30 апреля 2013

Я использую это в iOS 6:

self.navigationController.navigationBarHidden = YES;
self.navigationController.navigationBarHidden = NO;
...