获取iPad Air的错误屏幕分辨率

3
我已经编写了以下代码来获取屏幕分辨率。
 CGRect screenRect = [[UIScreen mainScreen] bounds];
 CGFloat screenWidth = screenRect.size.width;
 CGFloat screenHeight = screenRect.size.height;

上述代码在iPad Air上的结果如下:
- 屏幕宽度为1024.000000 - 屏幕高度为768.000000
实际屏幕尺寸是2048×1536。希望有热心人士能够帮助解决这个问题。提前谢谢。

1
屏幕尺寸以点为单位报告,而不是像素。您需要获取比例并乘以该比例以获取屏幕的像素大小。 - zaph
1个回答

3

这是由于视网膜屏幕的原因。实际屏幕大小以点(而非像素)表示。 视网膜显示器具有更高的(2倍)像素密度,因此要获取以像素为单位的屏幕大小,必须将其乘以 [UIScreen mainScreen] .scale 。这个比例因子对于普通显示器为1,对于视网膜显示器为2


1
请详细解释一下。谢谢。 - Kiran Kumar
添加了更多的解释。 - Artrmz
1
亲爱的Artrmz,我需要获取IPAD的屏幕分辨率和CPU信息,以便根据这些信息启用功能。如果您知道,请告诉我。提前致谢。 - Kiran Kumar
关于 CPU,您需要了解什么?以下是如何检测设备有多少个内核的答案:https://dev59.com/62w05IYBdhLWcg3wcRUj#7245866 - Artrmz
感谢您的帮助 @Artrmz - Kiran Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接