Дисплей Retina iPhone в средстве моделирования

Я становлюсь немного смущенным о том, как использовать средство моделирования для создавания приложений, которые должны поддерживать новое более высокое разрешение iphone 4.

Я был бы кроме тех случаев, когда, выбирая iphone4 средство моделирования для запущения приложения на этом [[UIScreen mainScreen] bounds] дал бы мне 960x640 назад, но вместо этого это, все еще дав мне старое разрешение (480x320)?

Хотя iphone4 средство моделирования появляется как гигантский телефон на моем экране, кажется, что это все еще состоит только из 480x320 пикселей. Например, когда я хотел бы отобразить что-то на строке 700, она просто упадет вне экрана?

Спасибо за любой вход на этом.

5
задан Kb. 18 July 2010 в 19:40
поделиться

2 ответа

UIScreen имеет новый метод шкалы . Умножьте размер bounds.size на масштаб, чтобы получить пиксели. Вы можете рассматривать немасштабированные значения как точки или виртуальные пиксели.

Обратите внимание, что в UIScreen есть метод масштабирования по крайней мере с версии 3.2, но он был задокументирован только с версии 4.0, поэтому RespondsToSelector вас обманет. Я проверяю масштаб UIImage, даже когда хочу узнать о UIScreen.

UIScreen *mainScreen = [UIScreen mainScreen];
CGFloat scale = [mainScreen scale];
CGRect bounds = [mainScreen bounds];
CGRect pixels = bounds;

if ( scale > 0 ) {
    pixels.origin.x *= scale;
    pixels.origin.y *= scale;
    pixels.size.width *= scale;
    pixels.size.height *= scale;
}
8
ответ дан 18 December 2019 в 16:34
поделиться

Что касается вашего второго вопроса о разрешении, возможно, это вам поможет.
Начиная с iOS4 и более поздних версий существуют пиксели, точки и масштабные коэффициенты.

[[UIScreen mainScreen] bounds] 

bounds будет возвращать точки (480x320), а не пиксели (960x640).
Руководство по программированию приложений iOS4 (Точки против пикселей):

В iOS 4 и более поздних версиях, UIScreen, UIView, UIImage и CALayer классы раскрывают масштабный коэффициент, который говорит вам соотношение между точками и пикселями для данного конкретного объекта. До iOS 4 этот масштабный коэффициент принимался равным 1,0, но в iOS 4 и позже он может быть либо 1,0, либо 2,0, в зависимости от разрешения базового устройства. В будущем возможны и другие коэффициенты масштабирования возможными.

4
ответ дан 18 December 2019 в 16:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: