gpt4 book ai didi

ios - 检测视网膜显示

转载 作者:IT王子 更新时间:2023-10-29 07:25:39 25 4
gpt4 key购买 nike

iOS SDK 是否提供了一种简单的方法来检查当前设备是否具有高分辨率显示屏(视网膜)?

我现在找到的最好的方法是:

    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] == YES && [[UIScreen mainScreen] scale] == 2.00) {
// RETINA DISPLAY
}

最佳答案

为了在所有 iOS 设备上可靠地检测 Retina 显示屏,您需要检查设备是否运行 iOS4+ 以及 [UIScreen mainScreen].scale 属性是否等于 2.0。如果 scale 属性存在,您不能假设设备正在运行 iOS4+,因为 iPad 3.2 也包含此属性。

在运行 iOS3.2 的 iPad 上,比例将在 1x 模式下返回 1.0,在 2x 模式下返回 2.0——即使我们知道该设备不包含 Retina 显示屏。 Apple 在 iPad 的 iOS4.2 中更改了此行为:它在 1x 和 2x 模式下均返回 1.0。您可以在模拟器中自行测试。

我在主屏幕上测试了 -displayLinkWithTarget:selector: 方法,它存在于 iOS4.x 而不是 iOS3.2,然后检查屏幕的比例:

if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
([UIScreen mainScreen].scale == 2.0)) {
// Retina display
} else {
// non-Retina display
}

关于ios - 检测视网膜显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3504173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com