2012-06-02 6 views
0

Когда я распускать мои Модальные View, чтобы вернуться к навигации контроллер View я получаю это странное поведение с моим StatusBar enter image description hereStatusBar Полноэкранное Увольнение ошибка

Я использую [[UIApplication sharedApplication] setStatusBarHidden:YES]; в ViewDidLoad для моего модальных View и я использую [[UIApplication sharedApplication] setStatusBarHidden:NO]; в мой просмотр NavController.

Любые идеи о том, как я могу предотвратить это? Спасибо заранее!

+0

Вы устанавливаете скрытую панель состояния, когда находитесь в меню, и когда она В подробном представлении он появляется? –

+0

Кажется, она «вернулась» из моего FullScreen Modal View, где нет StatusBar. И должно быть, проблема в том, что она выглядит неправильно –

ответ

1

Попробуйте переместить код в метод viewDidDisappear модального регулятора вида, который Вы представляете:

- (void)viewDidDisappear:(BOOL)animated { 
    [[UIApplication sharedApplication] setStatusBarHidden:NO]; 
} 

Дальнейшее объяснение: старый вид которые будут отображаться в окне слишком поздно, в то время, когда старый view снова отображается строка состояния, которая все еще скрыта, поэтому uiview старого контроллера получит полный размер вдовы (которая не имеет статусной панели), ведущую к сдвигу 20 px, появляющуюся в верхней части представления

+0

Я положил ее в 'viewWillDisappear', и это сработало! Большое спасибо! –

0

Вы пробовали с анимацией?

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

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:YES]; 
Смежные вопросы