iphone - Как управлять изображениями для Retina Display? - PullRequest
1 голос
/ 19 июля 2011

Мое приложение загрузит изображение и отобразит его в UIImageView.

Изображение довольно большое, скажем, 600 * 600, а размер UIImageView равен 100 * 100. Поэтому, когда изображение отображается, я устанавливаю UIImageView для его масштабирования.

Мой вопрос

Я понимаю, что для iPhone 3Gs изображение масштабируется до 100 * 100 напрямую и отображается в UIImageView.

А как же iPhone 4? Когда я делаю imageView.image = image, iOS автоматически сначала масштабирует изображение до 200 * 200, а затем отображает его в 100 * 100

Я имею в виду, должен ли я сделать что-то еще, чтобы убедиться, что дисплей Retina адаптирован?

Спасибо

Ответы [ 3 ]

6 голосов
/ 19 июля 2011

В этом случае нет, вам не нужно делать ничего особенного.Если ваш UIImageView хорошо настроен (масштабируется так, как вам кажется), iPhone4 отобразит ваше изображение в масштабе 200x200 пикселей в 100x100 точках UIImageView.Нет необходимости загружать другое изображение "what@2x.png".

3 голосов
/ 19 июля 2011

Вам не нужно делать что-то конкретное здесь.UIKit будет соответствующим образом масштабировать ваше изображение, и на самом деле это UIImageView, который будет зависеть от дисплея Retina, а не от вашего изображения.Вы указываете размер 100 x 100, который на дисплеях без Retina будет иметь значение true, но на дисплеях Retina под поверхностью физический размер будет фактически 200 x 200, потому что он будет учитывать scaleFactor.

В любом случае, UIImageView будет соответственно масштабировать изображение.

0 голосов
/ 19 июля 2011

У меня есть опыт, что он работает противоположным образом ... так что масштабируйте его для сетчатки, и iphone 3G или 3GS отобразит его правильно.

...