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];
和宽度/高度乘以该得到的像素值
答
试试这个人打搅点屏幕分辨率...
(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
这是视网膜的功能? – Vyacheslav
这是一个UIScreen属性。这将在非视网膜和2.0F返回在视网膜上的 – davbryn
感谢您的回答1.0F。 – Vyacheslav