在 iPhone 应用程序中,
在设备上运行App时如何检测运行App的设备的屏幕分辨率?
CGRect screenBounds = [[UIScreen mainScreen] bounds];
这将为您提供整个屏幕的分辨率(以点为单位),因此 iPhone 的分辨率通常为 320x480。尽管 iPhone4 的屏幕尺寸大得多,iOS 仍然返回 320x480,而不是 640x960。这主要是因为旧的应用程序崩溃了。
CGFloat screenScale = [[UIScreen mainScreen] scale];
这将为您提供屏幕的比例。对于所有没有 Retina 显示屏的设备,这将返回 1.0f,而 Retina 显示设备将返回 2.0f,iPhone 6 Plus(Retina HD)将返回 3.0f。
现在,如果你想获取 iOS 设备屏幕的像素宽度和高度,你只需要做一件简单的事情。
CGSize screenSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
通过乘以屏幕比例,您可以获得实际的像素分辨率。
关于iOS中点和像素之间的区别的好书可以阅读here.
EDIT:(Swift 版本)
let screenBounds = UIScreen.main.bounds
let screenScale = UIScreen.main.scale
let screenSize = CGSize(width: screenBounds.size.width * screenScale, height: screenBounds.size.height * screenScale)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)