Разрешение экрана iPhone 4.0 и написание надежного кода - PullRequest
1 голос
/ 08 июня 2010

Кто-нибудь знает, что произойдет с существующими приложениями, когда они будут работать на iPhone 4.0 с точки зрения нового разрешения экрана? Я предполагаю, как и при разработке для iPad, что в вашем коде не должно быть жестко закодированных разрешений экрана.

Мне также хотелось бы получить совет о том, как лучше написать надежный код, чтобы он хорошо работал на любом устройстве. Например, определения разрешения экрана недостаточно - на iPad экран физически больше, поэтому на нем можно отображать больше элементов. На новом iPhone экран имеет тот же физический размер, но более высокое разрешение, поэтому, скорее всего, вы не захотите отображать больше элементов, только их версии с более высоким разрешением.

Любая помощь будет полезна,

Привет

Dave

РЕДАКТИРОВАТЬ: я читал другие подобные посты, я думаю, что я действительно хотел бы знать, что является рекомендуемым способом написать код для всех устройств App Store надежным способом, чтобы они а) все работали б) сделать лучше использование устройства.

1 Ответ

1 голос
/ 21 июня 2010

UIKit был переработан таким образом, чтобы старые приложения просто работали без изменений в iPhone 4. Затем есть несколько вещей, которые вы можете сделать, некоторые программные, а некоторые просто добавив изображения более высокого разрешения в свой пакет приложений.

Во-первых, и проще всего вы можете включить новые изображения с двойным разрешением, которые используются вашим приложением, с суффиксом @ 2x в имени. т.е. Event.png, а также Event@2x.png. [UIImage ImageNamed:] автоматически ищет файл с этим суффиксом, если он работает с более высоким разрешением.

Все остальные вещи UIKit теперь используют точки вместо пикселей. Таким образом, для старых и новых приложений полноэкранный режим по-прежнему составляет 320 х 480 точек. Это в значительной степени означает, что все будет работать, включая касания и т. Д. Хотя теперь они могут возвращать доли точки.

Единственный реальный улов на данный момент, по-видимому, если вы используете CGBitmapContextCreate, так как он использует пиксели и требует некоторой обработки - pokery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...