Больше удовольствия от масштабирования iPhone 4 - PullRequest
1 голос
/ 24 февраля 2011

Итак, у меня есть два изображения для заполнения экрана - одно с разрешением 320x480 (iPhone 3) и другое с разрешением 640x960 (iPhone 4).

img.png      (320x480)
img@2x.png   (640x960)

В Интерфейсном Разработчике я установил img.pngчтобы заполнить представление (хотя это не должно быть заполнение представления iPhone 4, правда?), а когда я собираю и запускаю, оно заметно слишком мало.

Поэтому, когда я делаю обратное, настройкаimg@2x.png как img, гигантский синий знак вопроса заполняет вид.Проект все еще строится, и изображение заполняет экран, но очень пикселируется, как если бы оно было изменено.Это не должно было быть изменено, поскольку это более высокое разрешение.

Теперь используя ...

img.png      (640x960)
img@2x.png   (320x480)

Я также попытался переключить, какой файл принимает суффикс @ 2x, но это тоже не помогло.Поскольку файл меньшего размера принимает суффикс @ 2x и устанавливает для представления изображения значение img.png, он отображается намного больше, чем холст вида, но слишком мал, когда на телефоне.Поскольку файл меньшего размера все еще имел суффикс @ 2x, я попытался переключить представление на новый img@2x.png и еще раз получил увеличенный пиксельный вопросительный знак в IB и полноэкранное изображение в низком разрешении при развертывании на телефоне.

Я также позаботился о том, чтобы в инспекторе размеров был установлен размер моего просмотра 640x960.Что еще я должен делать?

1 Ответ

2 голосов
/ 24 февраля 2011

Не используйте @2x при указании имени изображения.Просто используйте базовое имя изображения (так что в вашем случае просто img).iOS сделает все возможное, чтобы использовать 2x версию, если она отображается на сетчатке, и обычную версию (в том числе, когда вы используете xib для разметки интерфейса).

Отображаемые размеры изображениявсегда будут размеры не 2x изображения.Дисплей сетчатки отображает только 2 пикселя на каждые 1, поэтому масштаб равен 2,0, и вам необходимо удвоить размеры исходного изображения.Таким образом, размер вашего представления в IB должен быть 320x480.

Редактировать

Если IB очень привередлив, особенно в Xcode 4, просто попробуйте удалить xib и начать заново.Иногда он немного испорчен и не знает, что с ним делать.Мне приходилось делать это один или два раза, и, похоже, это сработало и для ОП.

...