Swift3でステータスバーエリアの色を変える
Swift3でステータスバーエリアの20pxの背景色を変えたい場合のTipsです。
Xcode7.3、Swift2環境からそのままSwift3にConvertして以下のようなコードにすると実行時にクラッシュします。
'NSUnknownKeyException', reason: '[<_SwiftValue 0x60800049a9a0> valueForUndefinedKey:]:
となります。
func setStatusBarBackgroundColor(color: UIColor) {
guard let statusBar = (UIApplication.shared.value(forKey: "statusBarWindow") as AnyObject).value(forKey: "statusBar") as? UIView else {
return
}
statusBar.backgroundColor = color
}
なので以下のように変えてあげると綺麗にXcode7.3などでビルドしたのと同じような状態になります。
func setStatusBarBackgroundColor(color: UIColor) {
guard let statusBarWindow = UIApplication.shared.value(forKey: "statusBarWindow") as? UIView else {
return
}
let statusBar = statusBarWindow.subviews[0] as UIView
statusBar.backgroundColor = color
}
Author And Source
この問題について(Swift3でステータスバーエリアの色を変える), 我々は、より多くの情報をここで見つけました https://qiita.com/kyam_/items/2ade3236c5e1f64a6e55著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .