如何检查用户是否在Apple TV上启用了黑暗外观?
答案 0 :(得分:11)
使用UIUserInterfaceStyle,首先在tvOS 10中提供,我们可以检查用户设置的外观。
例如:
func checkInterfaceStyle() {
guard(traitCollection.responds(to: #selector(getter: UITraitCollection.userInterfaceStyle)))
else { return }
let style = traitCollection.userInterfaceStyle
switch style {
case .light:
print("light")
case .dark:
print("dark")
case .unspecified:
print("unspecified")
}
}
此外,如果您要从Xcode 7 / tvOS 9.0项目进行更新,则需要在UIUserInterfaceStyle
中加入info.plist
。使用Xcode 8创建的新项目已包含此密钥。
<key>UIUserInterfaceStyle</key>
<string>Automatic</string>
答案 1 :(得分:1)
我在Swift 5中编写了此扩展程序:
extension UIViewController {
var isDarkModeEnabled : Bool {
get {
return traitCollection.userInterfaceStyle == .dark
}
}
}
然后您可以在UIViewControllers中调用它:
if self.isDarkModeEnabled {
//Do something dark
} else {
//Do something light
}
答案 2 :(得分:1)
if traitCollection.userInterfaceStyle == .dark {
}