首页 > 解决方案 > 如何确定当前设备是否具有支持 P3 的显示器?

问题描述

如果设备支持,有没有办法有条件地选择标准 RGB 颜色或 P3 颜色?

对于 iOS 版本,我想到了类似以下内容:

if #available(iOS 12.0, *) {
    ...
} else {
    ...
}

标签: iosswiftuicolorcgcolor

解决方案


UITraitCollection有一个displayGamut属性,它是enum UIDisplayGamut

@available(iOS 10.0, *)
public enum UIDisplayGamut : Int {
    case unspecified // UIKit will not set this anymore, instead a sensible default is chosen based on the device capabilities and settings always
    case SRGB
    case P3
}

可以查询“主屏”</p>

let hasP3Display = UIScreen.main.traitCollection.displayGamut == .P3 

或特定视图的显示(如果使用外部监视器,可能会有所不同)

let hasP3Display = view.traitCollection.displayGamut == .P3

推荐阅读