1. ホーム
  2. ios

[解決済み] UIStatusBarStyleがSwiftで動作しない件

2023-04-29 02:48:11

質問

Swift アプリでステータスバーの色を白に変更しようとしていますが、レンガの壁にぶつかっています。私はそれぞれNavigationControllerに埋め込まれている3つのViewControllerを持っています(それは問題である可能性がありますか?私はすでにNavigationControllerクラスにコードを配置しようとしました)。AppDelegate.swift ファイルの didFinishLaunchingWithOptions で以下のコードの両方を試しましたが、どちらもうまくいきませんでした。

application.statusBarStyle = .LightContent

UIApplication.sharedApplication().statusBarStyle = .LightContent

Docsに書かれているのは、UIBarButtonStyleがIntであるということだけで、このenumのスニペットを教えてくれましたが、実装にはまったく役に立ちませんでした。

enum UIStatusBarStyle : Int {
    case Default
    case LightContent
    case BlackOpaque
}

何が足りないのでしょうか?

どのように解決するのですか?

2つのオプションがあります。

ステータス バーのスタイルを手動で設定し続けたい場合は、現在行っていることを続けますが、次のキーを info.plist ファイルに追加する必要があります。 NO .

ビューコントローラによるステータスバー表示

あるいは、ビューコントローラベースのステータスバーの外観を使い続けたい場合は、 アプリケーションのstatusBarStyleを設定するのではなく、 アプリケーションの preferredStatusBarStyle プロパティをオーバーライドします。

スウィフト3

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

スウィフト2

override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return UIStatusBarStyle.LightContent
}