ios UIImageView отсутствует изображение в окне запуска на устройстве





15 Answers

«Решение для меня состояло в том, чтобы убедиться, что поле« Очистить графический контекст »не отмечено для UIImageView в раскадровке. Просто изменив это, я установил это для меня». Никакие другие решения не работали для меня. Получил это от форума разработчиков Apple

ios objective-c uiimageview uiimage launch-screen

У меня есть приложение, поддерживающее iOS8 и более поздние версии, встроенное в Xcode 7, и я использую XIB для запуска экрана (у меня нет изображений запуска). В представлении содержится один UILabel с версией приложения и 2 UIImageView с изображениями, которые присутствуют в Images.xcassets: логотип и всплеск.

UILabel и изображение логотипа отображаются правильно, когда я запускаю приложение, но заставка не работает, если я запускаю приложение на iPad Air 2 с iOS9. Я тестировал на Air и Mini iOS8, а также iOS9 для iPad 2, iPad Air и iPad Air 2, и изображение получилось правильно во всех этих.

Я провел некоторое базовое устранение неполадок, чтобы узнать, могу ли я понять, что происходит, но я не смог его решить, и единственное различие, которое я вижу между изображением, которое работает, и тем, что не удается, - это когда я добавил его в активы ...

Вот краткое изложение того, что я знаю:

  • UIImageView для изображения всплеска находится в правильном месте, в правильном размере. Я могу сказать это, потому что я установил цвет фона зеленым, чтобы убедиться. Вид есть, но изображение не появляется. Поэтому я предполагаю, что это не виноват.

  • Установка UIImageView для изображения всплеска, также использующего изображение логотипа, делает изображение логотипа отображаемым в правильном месте для представления. Это также заставляет меня предположить, что взгляд не виноват.

  • UIImage, который я использую в представлении изображения брызг, используется в другом месте приложения и прекрасно отображается в этих других представлениях (изображение логотипа также используется в другом месте приложения и отображается отлично). Таким образом, я предполагаю, что образ действителен и его появление в других представлениях не является проблемой.

  • Я подтвердил, что настройки UIImages для логотипа и всплеска в файле xcassets одинаковы. Они имеют значение Universal, Любая ширина и высота, множественные масштабные коэффициенты, отображаемые по умолчанию. Существует одно отличие: у логотипа есть шкалы 1x, 2x и 3x, в то время как изображение всплеска имеет только 1x и 2x, но я также пытался использовать UIImages только с 1x и 1x и 2x значениями в UIView, и они работают (если они были добавлено в проект некоторое время назад).

  • Добавление другого изображения другого формата или формата (PNG и JPG) в мои xcassets и использование этого UIImage в UIImageView для всплывающего изображения также не отображается.

  • Добавление другого UIImageView в XIB-файл и выделение его UIImage, который уже был на xcasset, работает, изображение появляется на экране загрузки.

  • Копирование и переименование файлов изображений, используемых для логотипа, и добавление их в проект, а затем использование этого UIImage в представлении всплеска также не отображается.

  • Я пробовал очистить проект, перезапустить машину разработки и удалить приложение из Air 2 и переустановить его на случай, если это будет проблемой.

Эти три последних шага заставляют меня поверить, что есть некоторые проблемы с изображениями, добавленными после определенного момента в жизненном цикле проекта. В то время как я обновил Xcode 7 вчера, заставка была первоначально добавлена ​​в Xcode 6, но изображение логотипа (также добавленное в Xcode 6) было добавлено несколько месяцев назад.

Я просмотрел файлы json для изображения логотипа и изображения, и они выглядят одинаково. Я также трал через файл pbxproj, ищущий различия, и я не вижу ничего.

Поэтому мне было интересно, есть ли у кого-нибудь идеи, почему на экране запуска могут не отображаться эти новые изображения, которые я добавляю в эфир 2 специально? Другие вопросы, которые я читал, связанные с изображениями, которые не кажутся похожими, как правило, связаны либо с Launch Images, либо с изображениями в XIB-файлах, которые имеют связанные классы, ни один из которых не кажется здесь актуальным.




Следующая последовательность операций устранила проблему для меня на Xcode 7.3.1 и iOS 9.3.4:

  1. Очистите свою сборку (⌘ + ⇧ + K)
  2. Закрыть Xcode
  3. Жесткий сброс устройства iOS (перезагрузка)
  4. Перезапустите Xcode - пусть индексирование закончено и построится на устройстве, когда оно будет готово.



У меня была та же проблема. Перезагрузка устройства (iPhone 6) и перестройка приложения на устройство - единственное, что его исправило. Я попробовал много других советов и предложений, но ничего больше не сработало. Помогла поддержка только reboot + rebuild.




У меня было то же самое для приложения, установленного из TestFlight. Удалите приложение -> затем перезапустите iPhone -> затем переустановите приложение для меня. Просто переустановить приложение или просто перезапустить устройство не помогло.




Что для меня работало, это выбрать « Сбросить содержимое и настройки ...» в меню «Симулятор»




Вы пытались выключить и снова включить устройство? Сделай это.




У меня также была эта точная проблема в Xcode 7 с iPad и iPhone. Хотя это не имеет никакого смысла, я мог обойти его большую часть времени, установив не только изображение, но также и выделенное изображение в изображении на одно и то же изображение на моих изображениях.xcassets.




это сработало для меня.

Сначала в xcode очистите проект.

Если вы используете симулятор, удалите приложение и перезапустите.

Если вы используете устройство, удалите приложение и перезапустите устройство.




Перезапуск Xcode сделал это для меня.

Что не получилось :

  • Очистить папку сборки
  • Перезапустить устройство или симулятор (изображение не было видно ни на одном)



В моем случае я был именем изображения .
Я добавил изображение с именем Default-568h@2x.png в LaunchScreen.xib - один из моих старых экранов запуска только для целей тестирования. Я строил на iPhone X Simulator, изображение не появилось.

Изменение названия на что-то нейтральное (MyImage.png) решило проблему.

Кажется, что @2x был частью проблемы, а также -568h . Что имеет смысл на устройстве -812h@3x .




Простое решение - использовать JPG вместо PNG.




Также можно: 1. удалить изображение проекта 2. изменить имя изображения 3. добавить файл в проект

Это сработало для меня.




Я испытываю то же самое. Я меняю разрешение изображения от 300 пикселей / дюйм, меняю его на 72. Он работает для меня.




Название изображения - проблема. Переименуйте имя изображения, используемое в раскадровке экрана запуска. Убедитесь, что вы не используете какой-либо символ, кроме буквенно-цифрового (не используйте «_- & @»). Работали для меня как шарм.




В моем случае я просто перейду в приложение TARGETS -> General -> App Icons And Launch Images -> Launch Images Source. Затем выберите источник, где я разместил изображения. Надеюсь, это поможет вам




Related