Изображение не отображается в UIImageView в интерфейсе Builder/iPhone
У меня есть UIView
с UIImageView
, перетаскиваемым в представление. Внезапно, для всех моих xibs, изображение больше не появляется. Существует синий X. Однако, когда он строит, изображение есть.
В какой-то момент я удалил и восстановил все мои изображения и переместил их в подпапку в Xcode. Обычно, когда вы выбираете изображение для UIImageView
, IB позволяет вам выбирать из любого изображения в проекте. Но в раскрывающемся списке я больше не вижу никаких изображений, которые я вложил в папку.
Все, что я вижу в раскрывающемся списке Инспектора, - это одно изображение, которое я хочу, но это тоже тот, который не появляется. И, как я уже сказал, если я построю его на устройстве или симуляторе, все это сработает.
Там какой-то кеш или что-то прищурено. Все построено без ошибок. Я очистил тайники и перестроил. Все работает. Нет ошибок или предупреждений. Но... Я не вижу других изображений, и IB все еще думает, что ему не хватает изображения, которое четко выбрано в раскрывающемся списке.
Итак, как мне вернуть Xcode и IB в нужное русло и посмотреть, какие активы он должен видеть в XIB?
Ответы
Ответ 1
Попробуйте очистить и перестроить проект.
Если он все еще не работает, удалите все изображения из Xcode (выберите только ссылку на удаление), а затем снова добавьте их, перетащив эти изображения в Xcode. Затем перестройте его, и он должен работать.
Ответ 2
Мой рецепт: CLEAN + Build + QUIT XCODE И ТОГДА ОТКРЫВАЙТЕ ЭТО!
Вуаля!! Это там!
Ответ 3
Убедитесь, что вы добавили изображение в таргетинг при перетаскивании его в проект. Поскольку система Xcode/группа/система проекта не работает, щелкните изображение и убедитесь, что оно фактически добавлено в целевую сборку в инспекторе, как показано (графическая проблема заслуживает графического ответа!):
Добавьте изображение в проект...
![введите описание изображения здесь]()
Добавьте к цели... (или так мы думаем)
![введите описание изображения здесь]()
Фоновое изображение прекрасно отображается в Interface Builder...
![введите описание изображения здесь]()
Но когда мы запускаем, у нас нет ничего, кроме цвета фона, который мы установили... no image...
![введите описание изображения здесь]()
Нажав на UIImageView в Interface Builder и используя инспектор, мы прокрутим вниз и обнаружим, что на самом деле он никогда не добавлялся к цели, как Xcode, явно показанный на шаге 2...
![введите описание изображения здесь]()
Итак, мы добавляем его в цель...
![введите описание изображения здесь]()
И мы строим и бегаем и вуаля! Наше изображение показывает в UIImageView точно там, где оно должно отображаться.
![введите описание изображения здесь]()
Это заставило меня остыть в течение большей части дня, пока я не попытался добавить код, чтобы это случилось, чтобы увидеть, было ли это чешуйчатым изображением. Я добавил его без проблем, создав реализацию viewDidLoad ниже.
Обратите внимание, что вам это не нужно, если Xcode/Interface Builder работает так, как нужно. Либо пользователь IB, либо используйте этот код, а не оба:
- (void)viewDidLoad {
UIColor * theColor;
UIImage * theImage;
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
theImage = [UIImage imageNamed:@"/<redacted>/background sea green gradent.png"];
theColor = [UIColor colorWithPatternImage: theImage ];
[self.view setBackgroundColor: theColor ]; }
Примечание. Это может быть той же проблемой, если ваша кнопка не отображает пользовательское изображение...
Ответ 4
Просто столкнулся с этой проблемой. Экспортировал идентичные изображения в Adobe Illustrator. Один прозрачный, другой белый. Прозрачный появился с синим вопросительным знаком. Однако, работая, он отлично работал. Что-то связанное с IB и прозрачными PNG
Ответ 5
только для записи (потому что ничего не работало для меня):
У нас была только сетчатая графика в наших проектах. После обновления до XCode 5
все изображения имели белый знак вопроса (только в Interface Builder
, а не в Simulator
). Мы переключили источник изображения на non-retina
, который решил случай!
![enter image description here]()
Использование btn-category-6.jpg
решило проблему!
Ответ 6
Для меня это было потому, что у изображений был ".png" в инспекторе атрибутов. Исправление проблемы устраняло проблему
Ответ 7
Просто FYI: у меня была аналогичная проблема. В какой-то момент изображения были повреждены, и все они были прозрачными PNG!
Я заменил файлы, и теперь они снова отображаются. Возможно, повреждение изображения произошло, когда я скопировал файлы через проводник Windows в виртуальной коробке Oracle под управлением Windows XP.
Ответ 8
В моем случае, когда я создал новый проект в Xcode 6
, я не могу показать изображения в Симуляторе, а также в устройстве. Я импортировал все изображения в объектах изображения, создавая папку внутри этого. Теперь я импортировал все изображения, теперь все работает нормально. Теперь отображаются все изображения.
Выполните следующие действия:
ШАГ 1:
![Step 1:]()
ШАГ 2:
![Step 2]()
ШАГ 3:
![Step 3]()
а затем импортируйте нужные изображения. Ссылка:
fooobar.com/questions/242984/...
Ответ 9
У меня были те же симптомы, но я просто переместил папку проекта на рабочий стол, перезапустил проект в IB, и он сработает! Затем снова верните его в одну родительскую папку с другим именем... странно.
Ответ 10
У меня была эта проблема несколько раз. И копирование каталога проекта на рабочий стол, переименование исходной папки, открытие проекта из нового места и перемещение его в исходный каталог снова помогало каждый раз. Все эти файлы "Загрузка всех файлов заголовков" иногда работают, а иногда и не работают
Ответ 11
Это произошло, когда я переместил изображения на xcassets. Я решил это, удалив png и jpg расширения на инспекторе.
Ответ 12
В конце моего имени изображения в указателе атрибутов
отсутствовал .png.
После очистки, повторного импорта и проверки активов, где отображается правильно, ничего не получилось, хотя я обнаружил, что мое изображение (которое является png) появилось после того, как я ввел .png в конце имени изображения на панели атрибутов.
![enter image description here]()
Ответ 13
Убедитесь, что вы ссылаетесь на объект изображения , который фактически существует. Я добавил файлы в каталог Xcode Asset Catalog (.xcassets), как обычно, но забыл переименовать имя по умолчанию "Изображение" на имя, которое я использовал в раскадровке.
Ответ 14
Это случилось со мной, потому что я использовал изображение, созданное с помощью скриншота Mac (используя command ⌘ + shift + 4). Я использовал его с расширением файла, вручную измененным на png.
Вот почему изображение не показывалось в моем случае. Я повторно сохранил изображение в формате jpg, и он отлично работал.
Ответ 15
Если у вас установлены все 1x, 2x и 3x изображения, очищены и построены проект, и он по-прежнему не отображается правильно, выйдите из Xcode и принудительно завершите работу, а затем снова откройте Xcode. Для меня был просто простой перезапуск Xcode.
Ответ 16
Убедитесь, что у вас есть объект, соответствующий размеру изображения, которое соответствует размеру экрана, который вы просматриваете, в файле Interface Builder в Xcode. Есть пятна @1x, @2x и @3x для объектов изображения, если вы используете каталог активов в Xcode или, если вы его не используете, тогда у вас должны быть разные активы, дифференцированные по имени файла (например, image.png, [email protected], [email protected]).
У вас может не быть нескольких размеров активов и просто предоставил один актив, скажем, 1x или 3x, и вы можете просматривать экран в Interface Builder для типа устройства, в котором используется другой размер актива, и, таким образом, UIImageView
t в Xcode. Например, я просматривал интерфейс для iPhone 7, который использует 2x, но у актива была только 3-кратная версия. Когда я добавил версию 2x, она сразу появилась в интерфейсе Builder в Xcode.
Обратите внимание, что даже если он не отображается в Xcode, он может быть корректно отображен во время выполнения. Тем не менее, хорошей практикой является предоставление активов с разрешениями, которые будут соответствовать каждой модели устройства.
Ответ 17
Я сталкивался с этой проблемой несколько раз - иногда (я не слишком уверен, почему...), Xcode, похоже, забывает ссылку между UIImageView и изображением в вашей папке.
Затем может быть так же просто, как обратиться к инспектору атрибутов для этого образа, и если в окне изображения указано "Неизвестное изображение", повторите выбор правильного изображения!
![Инспектор атрибутов UIImageView]()
Ответ 18
Если ни один из этих ответов не работает, одной из возможных причин может быть: Если вы используете кнопку UIB и отображаете в ней изображение, убедитесь, что у кнопки нет заголовка. Он покажет эллипс (...), потому что заголовок кнопки усекается.
Ответ 19
Для меня проблема была, я мог видеть новые добавленные файлы изображений на Show the media library
но не в раскрывающемся списке для моей кнопки Image
Для меня решение было, набрав имя вручную. Когда я начал печатать имена изображений в текстовом поле, он автоматически заполнял его и все. |
PS: я также реализовал выбранное решение, прежде чем сделать это
![enter image description here]()
Ответ 20
Для меня мне просто нужно нажать на мои активы и просмотреть изображения там кратко. Затем я возвращаюсь к раскадровке и изображения заполняются.