iPad3高分辨率视网膜显示问题

use*_*406 3 objective-c ipad ios retina-display xcode4.2

我正在使用Xcode 4.2 [iOS SDK 5.0]为iPad3(Retina Display)开发应用程序.我正在使用以下代码片段来检测视网膜(高分辨率)显示.

 if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) 
{
NSLog(@"scale = %f",[[UIScreen mainScreen] scale]);
if ([[UIScreen mainScreen] scale] > 1.0) {
    NSLog(@"Retina Display iPad3");
} 
else    
{
    NSLog(@"Non Retina Display iPad 1/2");
}
}
Run Code Online (Sandbox Code Playgroud)

当我在iPad3设备上安装应用程序时,它显示输出:

scale = 1.00000;

非Retina显示屏iPad 1/2.

以上代码未检测到Retina显示.

我已经尝试了所有与谷歌视网膜显示检测相关的代码但是所有代码都无法检测到视网膜显示.有没有办法检测iPad 3视网膜显示器.

先感谢您.

Wil*_*ell 9

为了让您的应用程序支持新的iPad视网膜显示器,您需要开发和构建5.1 SDK(我认为您需要使用XCode 4.3).


xda*_*001 8

+ (BOOL)isRetina
{
    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2.0) {
        return YES;
    }
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

我已经在iPad3上测试了这个方法返回YES.