У мене є додаток, який підтримує iOS8 і пізніші версії, вбудований у Xcode 7, і я використовую XIB для запуску екрана (у мене немає зображень запуску). Представлення містить один UILabel з версією програми та 2 UIImageView з зображеннями, які є присутніми у Images.xcassets: логотип та зображення із сплеском.
Зображення UILabel і логотип відображаються правильно під час запуску програми, але зображення сплеску не відбувається, якщо я запускаю додаток на iPad Air 2 з iOS9. Я перевірив на iOS8 Air та Mini, що працюють на iOS8 та iOS9, для iPad 2, iPad Air та iPad Air 2, і зображення відображається правильно у всіх.
Я запустив кілька основних проблем з усунення несправностей, щоб побачити, чи можу я зрозуміти, що відбувається, але мені це не вдалося вирішити, і єдина відмінність, яку я бачу між зображенням, яке працює, і тим, що не вдається, - це коли я додав його до активи ...
Ось перелік того, що я знаю:
UIImageView для зображення, що з'являється у вставці, знаходиться у правильному місці, у правильному розмірі. Я можу це сказати, тому що я встановив його колір тла зелений, щоб переконатися. Перегляд є, але зображення не відображається. Тож я припускаю, що погляд не винен.
Якщо встановити UIImageView для зображення, що з'являється на екрані, також використовувати зображення логотипу, зображення логотипу відображатиметься в потрібному для подання місці. Це також змушує мене припускати, що погляд не винен.
Зображення UIImage, який я використовую у вікні зображення сплеску, використовується в інших місцях у додатку і добре відображається в інших видах перегляду (зображення логотипу також використовується в інших місцях програми та виглядає нормально). Тож я припускаю, що зображення є дійсним і те, що воно з’являється в інших видах, не є проблемою.
Я підтвердив, що налаштування UIImages для логотипу та сплеску у файлі xcassets однакові. Вони встановлені на Універсальний, Будь-яка ширина і висота, множинні масштабні коефіцієнти, відображені за замовчуванням. Є одна відмінність - логотип має масштаби 1x, 2x та 3x, тоді як зображення на сплеску має лише 1x та 2x, але я також спробував використовувати UIImages із значеннями 1x та 1x та 2x у UIView, і вони працюють (якщо вони були доданий до проекту деякий час тому).
Додавання іншого зображення іншого розміру або формату (PNG та JPG) до моїх xcassets та використання цього UIImage в UIImageView для зображення сплеску також не відображається.
Додавши до файлу XIB ще один UIImageView і виділивши йому UIImage, який вже був у xcassets, зображення з'являється на екрані завантаження.
Копіювання та перейменування файлів зображень, які використовуються для логотипу, та додавання їх до проекту, а потім використання цього UIImage у вікні сплеску також не відображається.
Я спробував очистити проект, перезапустити розроблювальну машину та видалити додаток із програми Air 2 та перевстановити його на всякий випадок, якщо це була проблема.
Ці три останні кроки спонукають мене до думки, що існує певна проблема із зображеннями, доданими після певного моменту життя файлу проекту. Поки я вчора оновлювався до Xcode 7, зображення сплеску спочатку було додано в Xcode 6, але зображення логотипу (також додане в Xcode 6) було додане за кілька місяців до цього.
Я переглянув файли json для зображення логотипу та зображення на екрані, і, здається, вони мають однаковий формат. Я також пробирався через файл pbxproj, шукаючи відмінності, і я не бачу його.
Тож мені було цікаво, чи хтось мав ідею, чому екран запуску може не відображати ці нові зображення, які я спеціально додаю в Ефір 2? Інші питання, які я читав, стосуються зображень, які не з’являються всі, схоже, стосуються або "Запуск зображень", або зображень у файлах XIB, які мають асоційовані класи, жодне з яких тут не видається релевантним.