如何检测iOS屏幕是OLED?

时间:2018-01-28 19:41:24

标签: ios screen

在LED屏幕上使用黑色(几乎是黑色)是很常见的。但是在iPhone X的OLED屏幕上,感觉不是那么容易。纯黑色是我想要的。

有没有办法检测屏幕是否是OLED类型? (而不是检查它是否是iPhone X)

还有一种方法可以区分故事板中的屏幕类型吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试向displayConfiguration mainScreen UIScreen实例发送FBSDisplayConfiguration消息并访问UIScreen *mainScreen = [UIScreen mainScreen]; SEL selector = NSSelectorFromString(@"displayConfiguration"); id displayConfiguration = [mainScreen performSelector:selector]; 结构,但我不确定,这是如果您将代码发送到App Store,代码将被批准:

displayConfiguration

以下是我的iPhone SE的<FBSDisplayConfiguration: 0x1c417fec0; Main; mode: "320x568@2x 60Hz sRGB SDR"> { CADisplay.name = LCD; CADisplay.deviceName = primary; CADisplay.seed = 2; tags = 0; currentMode = <FBSDisplayMode: 0x1c4094d70; 320x568@2x (640x1136/2) 60Hz sRGB SDR>; safeOverscanRatio = {0.89999997615814209, 0.89999997615814209}; nativeCenter = {320, 568}; pixelSize = {640, 1136}; bounds = {{0, 0}, {320, 568}}; CADisplay = <CADisplay:LCD primary>; }

CADisplay

It seems CADisplay.name也是私有API的一部分。

PS:我没有能力在iPhone X上测试这些代码,如果您有 - 请告诉我,{{1}}的价值是多少。我也很有趣:)