iOSでステータスバーのテキストの色を変更する方法 質問する

iOSでステータスバーのテキストの色を変更する方法 質問する

私のアプリケーションの背景は暗いのですが、iOS 7 ではステータス バーが透明になりました。そのため、そこには何も見えず、隅にある緑色のバッテリー インジケーターだけが表示されます。ステータス バーのテキストの色をホーム画面のように白に変更するにはどうすればよいでしょうか。

ベストアンサー1

  1. .plist ファイルで をUIViewControllerBasedStatusBarAppearance設定します。YES

  2. ではviewDidLoad[self setNeedsStatusBarAppearanceUpdate];

  3. 次のメソッドを追加します。

    - (UIStatusBarStyle)preferredStatusBarStyle
    { 
        return UIStatusBarStyleLightContent; 
    }
    

:これは内部のコントローラーでは機能しませんUINavigationController以下はタイソンのコメント:)

Swift 3 - これはコントローラー内で機能しますUINavigationController。このコードをコントローラー内に追加します。

// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

Swift 5 と SwiftUI

SwiftUIの場合は、新しいSwiftファイルを作成します。HostingController.swift

import Foundation
import UIKit
import SwiftUI

class HostingController: UIHostingController<ContentView> {
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
}

次に、次のコード行を変更します。SceneDelegate.swift

window.rootViewController = UIHostingController(rootView: ContentView())

window.rootViewController = HostingController(rootView: ContentView())

おすすめ記事