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

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

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

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

  • Планируете ли вы это как разработчики?

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

(Если, конечно, кому-то нужно больше 640 Кб, извините, разрешение 320x480 :))

См. Этот URL: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/SupportingResolutionIndependence/SupportingResolutionIndependence.html#//apple_ref/doc/uid/TP107072

За iOS4 отвечает Apple.


person groundhog    schedule 10.08.2009    source источник


Ответы (3)


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

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

person MikeJ    schedule 10.08.2009

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

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

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

person Gordon Potter    schedule 12.08.2009

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

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

person Joel Martinez    schedule 10.08.2009
comment
Вы можете использовать UIView.autoResizingMask и различные другие ручки, и вы можете получить разрешение экрана. Все они доступны, и я учитываю это, но мне интересно, есть ли другие разработчики (например, вы?) - person groundhog; 10.08.2009
comment
Думаю, это то, что я пытался сказать. Хотя вы можете быть достаточно просвещенными, чтобы знать методы ... если большая часть примеров кода, доступных разработчикам, не принимает во внимание разрешение, то (IMO) большинство разработчиков не будут - person Joel Martinez; 11.08.2009