如何检查用户是否在其 Apple TV 上启用了深色外观?
问问题
3812 次
3 回答
14
使用在 tvOS 10 中首次提供的UIUserInterfaceStyle,我们可以检查用户设置的外观。
例如:
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>
于 2016-09-18T21:31:40.357 回答
1
if traitCollection.userInterfaceStyle == .dark {
}
于 2019-07-04T23:05:41.777 回答
0
我在 Swift 5 中编写了这个扩展:
extension UIViewController {
var isDarkModeEnabled : Bool {
get {
return traitCollection.userInterfaceStyle == .dark
}
}
}
然后你可以在你的 UIViewControllers 中调用它:
if self.isDarkModeEnabled {
//Do something dark
} else {
//Do something light
}
于 2019-03-29T16:13:21.833 回答