Interface Builder повесить на изображения сетчатки - PullRequest
0 голосов
/ 20 июня 2011

В моем приложении я создаю 2 папки для изображений «Стандарт» и «Retina», в которые я помещаю множество изображений для своего приложения.Когда я открываю один из моих xib-файлов, Interface Builder зависает ...

Я обнаружил, что если я удалю Retina Image, который используется этим xib, то IB откроет xib без каких-либо проблем ... Эта проблемапроисходит только с 1 XIB-файлом, другие XIB-файлы могут быть открыты без проблем.В чем может быть причина зависания?Может ли изображение быть плохим?Или, может быть, я не должен помещать Retina Images в папку «Retina»?В чем может быть причина?

Спасибо ...

Ответы [ 4 ]

1 голос
/ 20 июня 2011

Когда вы скомпилируете и запустите приложение на цели, вы получите предупреждение о том, какое изображение отсутствует. Удалите и добавьте это изображение в свой проект вручную. Это должно решить вашу проблему с зависанием.

0 голосов
/ 20 июня 2011

Если вы используете «желтые папки», то они не являются действительными папками. Они служат только для организации ваших файлов в XCode. И во-вторых, вы должны использовать обычное изображение iPhone в конструкторе интерфейсов, и оно автоматически найдет изображение @ 2x, поэтому, если вы используете «синие папки» и разделяете изображения, я думаю, что, вероятно, будет трудно понять, должен выглядеть «стандартно», когда он на экране без сетчатки, и «сетчатка», когда это экран сетчатки, потому что вы никогда не говорили ему об этом.

0 голосов
/ 20 июня 2011

Вы различаете изображения сетчатки и не сетчатки только по их названию, оканчивающемуся: picture.png для обычной картинки@2x.png для сетчатки. Обычно я помещаю их в одну папку, чтобы легко видеть, какие картинки поддерживают сетчатку.

Использование [UIImage imageNamed: @ "picture.png"] сначала попытается загрузить picture@2x.png, если ваше приложение работает на устройстве с дисплеем сетчатки.Если он не может загрузить версию 2x, он будет использовать picture.png.

0 голосов
/ 20 июня 2011

Как вы называете ваши изображения сетчатки?Имя должно быть указано в следующем формате: <your image name>@2x.png.Во-вторых, убедитесь, что вы видите эти изображения на этапе сборки вашей цели.Что касается вашего xib, который зависает, проверьте, что имена, которые вы используете, такие же, как и для изображений без сетчатки.IB знает, как изменить эти изображения во время выполнения с этими изображениями сетчатки.И, конечно же, убедитесь, что вы не используете там названия картинок, которых у вас нет в проекте.

...