2016-05-10 1 views
1

У меня есть контроллер вида (view1), который предпочитает скрытую строку состояния. У меня есть кнопка, которая представляет собой другой контроллер вида (view2) по умолчанию из нижней части экрана («Show» segue в моей раскадровке), а view2 предпочитает видимую строку состояния. На iOS 8 это плавный переход от view1 к view2, но на iOS 9 строка состояния сразу появляется в view1, когда я нажимаю кнопку, и весь вид view1 сдвигается вниз, чтобы разместить его.Просмотр сдвигов вниз при представлении контроллера представления со строкой состояния на iOS 9

Это уродливый эффект, и я хочу его избежать. По какой-то причине iOS 8 обрабатывает это гораздо более изящно, чем iOS 9. Есть ли исправление для этого?

ответ

0

В Swift, вы можете установить глобальную переменную на View2 в

isStatusBarHidden = false 

на viewWillAppear из VIEW2 изменить его на истинный и статус обновления бар

isStatusBarHidden = true 
setNeedsStatusBarAppearanceUpdate() 

функция бар Делегат статус будет выглядеть

func prefersStatusBarHidden() { 
    return isStatusBarHidden 
} 

Это работает только в Swift, а не в Objective-C.

+0

Хороший отзыв. В 9.3 и 10.1 мне также понадобилось обернуть вызов setNeedsStatusBarAppearanceUpdate() в блоке анимации. –

Смежные вопросы