2012-02-21 91 views

回答

3

你并不需要。 操作系统将自动从320px x 480px转换为视网膜显示屏。 这是因为屏幕的分辨率不高实际上,它只是(在< 3Gs的每一个1px4px)的高像素密度

的想法是这样一切看起来更清晰/好,不那么你能适应更多在屏幕上。 (否则你就必须仔细一切的大小,只是为了能够看到它)

但如果你真的需要,你可以使用下面的

UIScreen *MainScreen = [UIScreen mainScreen]; 
UIScreenMode *ScreenMode = [MainScreen currentMode]; 
CGSize Size = [ScreenMode size]; // <--- Real screen size 
0

首先检测设备是否支持视网膜

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]; 
} 
0

转换接受的答案,以斯威夫特为清楚:

var MainScreen: UIScreen = UIScreen.mainScreen() 
var ScreenMode: UIScreenMode = MainScreen.currentMode() 
var Size: CGSize = ScreenMode.size() 
相关问题