【问题标题】:How can I get the appearance style has been set on apple tv settings?如何获取已在 Apple tv 设置中设置的外观样式?
【发布时间】:2017-02-23 11:29:27
【问题描述】:

首先,我在didFinishLaunchingWithOptions 中尝试了这个link。它总是在我的苹果电视模拟器中返回 unspecified。是否有其他解决方案可以检查 Apple tv 设置中设置了哪种外观样式?

我想将我的 tvOS 应用的主题更改为深色或浅色外观风格。

【问题讨论】:

    标签: swift tvos apple-tv


    【解决方案1】:

    您需要检查traitCollectionDidChange 中的当前样式并在那里更新 UI。

    来自 Apple 文档

    根据您应用的需要,在视图控制器和视图中实现此方法,以响应此类更改。

    示例用法

    class DetailsHeaderCell: UICollectionViewCell {
        @IBOutlet private(set) var title: UILabel!
    
        override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
            super.traitCollectionDidChange(previousTraitCollection)
    
            title.layer.borderColor = 
                traitCollection.userInterfaceStyle == .dark ? 
            UIColor.white.cgColor : UIColor.black.cgColor
        }    
    }
    

    【讨论】:

    • 我如何在 swift3 编程中实现“traitCollectionDidChange”。可以给个示例代码吗?
    • traitCollectionDidChange 之类的声音只有在用户在使用应用程序时更改外观时才会被调用。可以通过UIUserInterfaceStyle查看外观风格:stackoverflow.com/a/39562883/2108547
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 2016-02-19
    • 2012-01-26
    • 2016-11-28
    • 2014-06-20
    相关资源
    最近更新 更多