メインの初期ViewControllerには白いステータスバーが必要ですが、別のViewControllerで非表示にすることもできます。私はどちらか一方をすることができますが、同時に両方を行うことはできません。助言がありますか?iOSはステータスバーを白に設定し、別のViewControllerで非表示にします
は私が のInfo.plist
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
にNOに
ビューコントローラベースのステータスバーの外観キーを設定することにより、白にそれを設定し、(それを隠すために別のViewControllerでモーダルに表示されます)私は、
override func prefersStatusBarHidden() -> Bool { return statusBarHidden }
以前にInfo.plistに追加したキーを削除しない限り非表示にはなりませんが、キーを削除するとステータスバーは黒に戻ります。
EDIT-MYソリューション: ビューコントローラクラスは、私はナビゲーションコントローラに埋め込まれ、メインビューコントローラを持っているので、私の修正プログラムは、同じメソッドをオーバーライドすることでしたが、ナビゲーションコントローラの代わりに、私の場合で働いていませんでした問題のビューコントローラの
extension UINavigationController { public override func preferredStatusBarStyle() -> UIStatusBarStyle { return .LightContent } }
?私はswift3以前のバージョンを意味しますか? – Rajat
swift 2.2、xcode 7.3 ...また、しばらくの間xcode7.3に留まる必要があります。 – sweepez
これにInfo.plistを使用しないでください。提供されているView Controllerメソッドを使用します。 – matt