How do I check if a user has enabled Dark Appearance on their Apple TV?
Using UIUserInterfaceStyle, first available in tvOS 10, we can check what appearance the user has set.
For example:
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")
    }
}
Also, if you're updating from an Xcode 7/tvOS 9.0 project you will need to include UIUserInterfaceStyle in your info.plist. New projects created with Xcode 8 already have this key included.

<key>UIUserInterfaceStyle</key>
    <string>Automatic</string>
if traitCollection.userInterfaceStyle == .dark {
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With