Как я могу получить разрешение экрана сетчатки? - PullRequest
1 голос
/ 21 февраля 2012

Мне так нравится:

CGRect ScreenSize = [[UIScreen mainScreen]bounds];

Но результат в iPhone4 - 480 * 320.

Как мне получить разрешение дисплея сетчатки в iphone4?

Ответы [ 3 ]

3 голосов
/ 21 февраля 2012

Вам не нужно.ОС автоматически переводит с 320px x 480px на дисплей сетчатки.Это связано с тем, что разрешение экрана на самом деле не выше, оно просто имеет высокую плотность пикселей (4px на каждые 1px в <3Gs) </p>

Идея в том, чтобы все выглядело четче / лучше,не так, чтобы вы могли поместиться больше на экране.(в противном случае вам нужно было бы удвоить размер всего, чтобы увидеть его)

Но если вам действительно это нужно, вы можете использовать следующее

UIScreen *MainScreen = [UIScreen mainScreen];
UIScreenMode *ScreenMode = [MainScreen currentMode];
CGSize Size = [ScreenMode size]; // <--- Real screen size
0 голосов
/ 12 октября 2016

Преобразование принятого ответа в Swift для ясности:

var MainScreen: UIScreen = UIScreen.mainScreen()
var ScreenMode: UIScreenMode = MainScreen.currentMode()
var Size: CGSize = ScreenMode.size()
0 голосов
/ 21 февраля 2012

Сначала определите, поддерживает ли устройство сетчатку

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];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...