2016-05-10 9 views
1

私は、非表示のステータスバーを好むビューコントローラ(view1)を持っています。私は画面の下からモーダルに別のView Controller(view2)を提示するボタンを持っています(私のストーリーボードでは 'Show' segue)、view2はステータスバーを表示します。 iOS 8では、これはview1からview2へのスムーズな移行ですが、iOS 9では、ボタンを押したときにステータスバーがすぐにview1に表示され、view1の全体ビューがそれに合わせてシフトします。iOS 9でステータスバーを表示するビューコントローラを表示するとシフトが表示される

これは醜い効果であり、私はそれを避けたいと思います。何らかの理由で、iOS 8はこれをiOS 9よりはるかに上手く処理します。スウィフトは

答えて

0

、あなたはVIEW2のviewWillAppearに

isStatusBarHidden = false 

としてVIEW2にグローバル変数を設定することができ、ステータスバーのデリゲート関数は次のようになります

isStatusBarHidden = true 
setNeedsStatusBarAppearanceUpdate() 

真とアップデートステータスバーに変更します

func prefersStatusBarHidden() { 
    return isStatusBarHidden 
} 

これは、Objective-CではなくSwiftでのみ動作します。

+0

良いチップ。 9.3と10.1ではアニメーションブロックに 'setNeedsStatusBarAppearanceUpdate()'コールをラッピングする必要もありました。 –

関連する問題