Изменение разрешения экрана iPhone в будущем оборудовании

Некоторое время, когда я разрабатывал свои приложения, меня беспокоило то, что они часто имеют жестко закодированную геометрию изображений и компонентов представления, которые принимают как должное природу 320x480 текущего поколения дисплеев.

Я видел много ответов в Stackru и в примерах / руководствах, которые жестко кодируют размеры экрана. Я также сделал несколько текстур для фонов размером 320x480, но стараюсь сделать их UIViewContentModeScaleToFill, но я не совсем уверен, что позиционирование пикселей в IB приведет к аппаратным интерфейсам.

В какой-то момент я представляю (и надеюсь!), Что у iPhone будут разные разрешения экрана.

  • Вы, как разработчики, планируете это?

  • Что вы делаете для учета переменных разрешений экрана в будущем?

(Предполагая, конечно, что кому-то понадобится более 640 КБ, извините, разрешение 320x480:))

Пожалуйста, посмотрите этот URL: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/SupportingResolutionIndependence/SupportingResolutionIndependence.html

Для iOS4 ответ от Apple.

3 ответа

Решение

Вы должны быть. Если есть способ получить эти метрики из API, вам следует. В старые времена Mac, многие люди жестко запрограммированы для 9-дюймового экрана. Когда я получил свой Mac XL (по существу, корпус lisa с основной платой mac внутри), у него был 12-дюймовый экран и число ". сломанные "приложения, которые не масштабировались, были легендой.

Суть в том, что если произойдут какие-то радикальные изменения в оборудовании, Apple, безусловно, сделает это. Любая компания, которая может успешно менять чип-платформы TWICE, не боится обновлять оборудование, программное обеспечение и все остальное, чтобы улучшить ситуацию.

Вы можете проверить NSScreen для OS X и UIScreen для iPhone.

Из документации:

"... вы должны использовать свойства этого объекта, чтобы получить рекомендованные прямоугольники кадра для окна вашего приложения".

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

Я полагаю, что если Apple собирается разрешить другие разрешения, у них будет способ работать в режиме совместимости для более старых приложений или способ проверить желаемое разрешение (по умолчанию используется существующее разрешение, поэтому старые приложения не работают). не надо менять)

Другие вопросы по тегам