CGRect screenBounds = [[UIScreen mainScreen] bounds];
这将为您提供整个屏幕的分辨率(以点为单位),因此iPhone的分辨率通常为320x480.尽管iPhone4的屏幕要大得多,但iOS的屏幕尺寸仍然是320x480,而不是640x960.这主要是因为较旧的应用程序中断.
CGFloat screenScale = [[UIScreen mainScreen] scale];
这将给你屏幕的比例.对于所有没有视网膜显示器的设备,这将返回1.0f,而视网膜显示器设备将返回2.0f,iPhone 6 Plus(视网膜HD)将返回3.0f.
现在,如果你想得到iOS设备屏幕的像素宽度和高度,你只需要做一件简单的事情.
CGSize screenSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
通过乘以屏幕的比例,可以得到实际的像素分辨率.
可以读取here关于IOS中的点和像素之间的差异的良好读数.
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)