ステータスバーの変更に関するAppleのガイドラインと手順は次のとおりです。
ここに-ステータスバーのスタイルを変更する方法:
ステータスバーのスタイル、アプリケーションレベルを設定UIViewControllerBasedStatusBarAppearance
する場合NO
は、 `.plist 'ファイルでに設定します。
ステータスバースタイルを設定したい場合は、ビューコントローラーレベルで次の手順に従います。
- 設定する
UIViewControllerBasedStatusBarAppearance
にYES
して.plist
、あなただけのUIViewControllerレベルでセットステータスバーのスタイルに必要がある場合は、ファイル。
viewDidLoad追加関数で- setNeedsStatusBarAppearanceUpdate
ビューコントローラーのpreferredStatusBarStyleをオーバーライドします。
-
override func viewDidLoad() {
super.viewDidLoad()
self.setNeedsStatusBarAppearanceUpdate()
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
.plistの値を、ステータスバースタイルのセットアップレベルに従って設定します。
アプリケーションの起動時またはビューコントローラのviewDidLoad時にステータスバーの背景色を設定できます。
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
// Set upon application launch, if you've application based status bar
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
return true
}
}
or
// Set it from your view controller if you've view controller based statusbar
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
}
}
これが結果です: