我这样做:如何获得视网膜显示分辨率?
CGRect ScreenSize = [[UIScreen mainScreen]bounds];
但结果是480 * 320的iPhone4。
如何在iPhone4中获得视网膜显示的分辨率?
我这样做:如何获得视网膜显示分辨率?
CGRect ScreenSize = [[UIScreen mainScreen]bounds];
但结果是480 * 320的iPhone4。
如何在iPhone4中获得视网膜显示的分辨率?
你并不需要。 操作系统将自动从320px
x 480px
转换为视网膜显示屏。 这是因为屏幕的分辨率不高实际上,它只是(在< 3Gs的每一个1px
4px
)的高像素密度
的想法是这样一切看起来更清晰/好,不那么你能适应更多在屏幕上。 (否则你就必须仔细一切的大小,只是为了能够看到它)
但如果你真的需要,你可以使用下面的
UIScreen *MainScreen = [UIScreen mainScreen];
UIScreenMode *ScreenMode = [MainScreen currentMode];
CGSize Size = [ScreenMode size]; // <--- Real screen size
首先检测设备是否支持视网膜
CGRect screenSize = [[UIScreen mainScreen] bounds];
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] == YES) {
// RETINA DISPLAY
screenSize.size.width = screenSize.size.width * [[UIScreen mainScreen] scale];
screenSize.size.height = screenSize.size.height * [[UIScreen mainScreen] scale];
}
转换接受的答案,以斯威夫特为清楚:
var MainScreen: UIScreen = UIScreen.mainScreen()
var ScreenMode: UIScreenMode = MainScreen.currentMode()
var Size: CGSize = ScreenMode.size()