IOS 13の場合、ステータスバーのテキストの色を設定できません。 statusBarManagerのビューを取得するにはどうすればよいですか?テキストの色のみを変更するにはどうすればよいですか?
のため:
キャッチされない例外 'NSInternalInconsistencyException'によりアプリを終了しています。理由: 'UIApplicationで-statusBarまたは-statusBarWindowが呼び出されました:ステータスバーまたはステータスバーウィンドウがなくなったため、このコードを変更する必要があります。代わりに、ウィンドウシーンでstatusBarManagerオブジェクトを使用してください。
私の現在のコード:
func setStatusBarTextColor(_ color: UIColor) {
if #available(iOS 13.0, *) {
// How to do for iOS 13??
} else {
if let statusBar = UIApplication.shared.value(forKey: "statusBar") as? UIView {
statusBar.setValue(color, forKey: "foregroundColor")
}
}
}
私はすでにこれを見つけました https://stackoverflow.com/a/57394751/9172697 しかし、それは私が探しているものではありません
ステータスバーのテキストの色はあなた次第ではありませんでした。あなたがやっていたことはいつも間違っていました。トップレベルのビューコントローラーを使用して、preferredStatusBarStyle
をオーバーライドします。 .lightContent
と.darkContent
の2つの選択肢があり、ライト/ダークモードをサポートするため、どちらも使用しないでください。