iPad的迷你视网膜错屏幕分辨率

问题描述:

当我尝试阅读我的设备的分辨率我不能接受良好的效果。iPad的迷你视网膜错屏幕分辨率

这样的代码

CGRect screenRect = [[UIScreen mainScreen] bounds]; 
    CGFloat screenWidth = screenRect.size.width; 
    CGFloat screenHeight = screenRect.size.height; 
    NSString* name = [self machineName]; 

1024 * 768和iPad4,5

MACHINENAME代码:

#import <sys/utsname.h> 
-(NSString*) machineName() 
{ 
    struct utsname systemInfo; 
    uname(&systemInfo); 

    return [NSString stringWithCString:systemInfo.machine 
           encoding:NSUTF8StringEncoding]; 
} 

我在做什么错?我无法理解。它必须是2048 * 1536

束缚回报点的屏幕尺寸。

您需要查询CGFloat scale = [[UIScreen mainScreen] scale];

和宽度/高度乘以该得到的像素值

+0

这是视网膜的功能? – Vyacheslav

+1

这是一个UIScreen属性。这将在非视网膜和2.0F返回在视网膜上的 – davbryn

+0

感谢您的回答1.0F。 – Vyacheslav

试试这个人打搅点屏幕分辨率...

(1)找到使用以下方法的屏幕比例尺

CGFloat screenScale = [[UIScreen mainScreen] scale]; 

这会给你屏幕的比例。对于所有的iPhone和iPodTouches不具有Retina显示屏会返回一个1.0F,而视网膜显示设备会给出一个2.0F。

现在,如果你想获得像素宽度&你只需要做一个简单的事情iOS设备屏幕的高度。

(2)由屏幕的规模乘以你的实际像素分辨率。

CGSize screenSize = CGSizeMake([[UIScreen mainScreen] bounds].size.width * screenScale, [[UIScreen mainScreen] bounds].size.height * screenScale); 

有关详细信息读取this link

+0

另一个答案是更快。不管怎样,谢谢。 – Vyacheslav