我喜欢这个:
CGRect ScreenSize = [[UIScreen mainScreen]bounds];
但iphone 4的结果是480 * 320。
如何在iphone 4中获得视网膜显示的分辨率?
答案 0 :(得分:3)
你不需要。
操作系统会自动从320px
x 480px
转换为视网膜显示。
这是因为屏幕的分辨率实际上并不高,只是具有较高的像素密度(< 3Gs)每4px
1px
这个想法是让所有东西看起来更清晰/更好,而不是让你可以更多地适应屏幕。 (否则你必须加倍所有的尺寸,才能看到它)
但如果您真的需要,可以使用以下
UIScreen *MainScreen = [UIScreen mainScreen];
UIScreenMode *ScreenMode = [MainScreen currentMode];
CGSize Size = [ScreenMode size]; // <--- Real screen size
答案 1 :(得分: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];
}
答案 2 :(得分:0)
为了清晰起见,将接受的答案转换为Swift:
var MainScreen: UIScreen = UIScreen.mainScreen()
var ScreenMode: UIScreenMode = MainScreen.currentMode()
var Size: CGSize = ScreenMode.size()