私のアプリケーションの背景は暗いのですが、iOS 7 ではステータス バーが透明になりました。そのため、そこには何も見えず、隅にある緑色のバッテリー インジケーターだけが表示されます。ステータス バーのテキストの色をホーム画面のように白に変更するにはどうすればよいでしょうか。
ベストアンサー1
.plist ファイルで を
UIViewControllerBasedStatusBarAppearance
設定します。YES
では
viewDidLoad
、[self setNeedsStatusBarAppearanceUpdate];
次のメソッドを追加します。
- (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())