Как добавить iPhoneX Launch Image

используя Xcode Версии 9.0 (9A235), я пытаюсь добавить изображение запуска для iPhoneX по запросу 2436px × 1125px (пейзаж). В настоящее время я использую раскадровку, и она выглядит так:

enter image description here

"launchimage" - это вид изображения, связанный с набором изображений:

enter image description here

и набор изображений выглядит следующим образом:

enter image description here

единственное место, где я получаю iPhoneX размер изображения находится в наборе изображений запуска:

enter image description here

но когда я пытаюсь выбрать изображение запуска в виде изображения на раскадровке, его нельзя выбрать:

enter image description here

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

обновление:

Я хотел бы объяснить, почему я хочу изображение должно быть точно таким же пикселом на пиксель. В соответствии с руководящими принципами https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/ my launch image-это статическая версия первой страницы приложения. Если изображение запуска растянуто, то есть заметный переход от изображения запуска к первой странице. Какой вид поражает объект руководящих принципов. Apple рекомендует использовать запуск раскадровки, но, похоже, вы не можете следовать их рекомендациям, если вы делать. Типичный, на самом деле.

8 ответов


если используется LaunchImage.launchimage для запуска решение (в Xcdoe 9.0):

  1. выберите Assets.xcassets, щелкните правой кнопкой мыши на средней панели, выберите App Icons & launch Images ->New iOS Launch Image . Тогда двигай старый LaunchImage.launchimage изображения к новому, и добавьте размер изображения с 1125×2436 px для iPhoneX. enter image description here enter image description here

  2. кроме того, вы можете добавить следующий объект json в Contents.json файл, который на LaunchImage.launchimage папка в вашем старом проекте。Однажды Xcode обновляется, просто поместите изображение 1125×2436px. Если вам нужен пейзаж, вы можете добавить другой с ориентацией.

	{
      "extent" : "full-screen",
      "idiom" : "iphone",
      "subtype" : "2436h",
      "minimum-system-version" : "11.0",
      "orientation" : "portrait",
      "scale" : "3x"
    }

для ленивых разработчиков 2018, таких как я, у кого есть существующий проект со старой версией launchimage (без варианта iPhoneX), вот мое решение для поддержки iPhone X - это ярлык для вас.

  1. открыть активы.xcassets В в Xcode.
  2. щелкните правой кнопкой мыши в вашем LanchImage затем выберите Показать В Finder.
  3. открыть содержание.в JSON
  4. вставьте следующие коды внутри вашего "картинки" массив.
 {
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "2436h",
  "filename" : "ipxportrait.png",
  "minimum-system-version" : "11.0",
  "orientation" : "portrait",
  "scale" : "3x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "2436h",
  "filename" : "ipxlandscape.png",
  "minimum-system-version" : "11.0",
  "orientation" : "landscape",
  "scale" : "3x"
},

замените, конечно, имя файла соответствующими изображениями. Вуаля!


Если я правильно понял, вы используете раскадровки в качестве экрана запуска с видом изображения, верно?

Если да, то в раскадровке экрана запуска выберите для просмотра как iPhone X:

enter image description here

затем добавьте свой вид изображения, чтобы он заполнял всю область следующим образом:

enter image description here

и прикрепите его к супервизору с константами 0. Важно сделать это с выбранным iPhone X, потому что в противном случае вы вероятно, прикрепите к верхнему руководству макета, которое вы не хотите, потому что оно оставит вас с зазором вверху.

ваш constaints должен выглядеть так (прижат к Суперпанель):

enter image description here


в портретной ориентации ширина дисплея на iPhone X соответствует ширина 4,7" дисплеев iPhone 6, iPhone 7, и iPhone 8. Дисплей на iPhone X, однако, 145pt выше, чем 4,7 " дисплей, в результате примерно 20% дополнительного вертикального пространства для контента.

enter image description here

вероятно, ваше изображение в порядке, но попробуйте очистить (cmd + K) и восстановление проекта.

Если не помогает, затем удалите это изображение из Xcode и снова добавьте его, перетащив эти изображения в Xcode. И перестроить его. Это должно сработать.


использование Xcode версии 9.1 (9B55), благодаря ответам выше (особенно Stoull), однако мой опыт немного отличается. Мой первоначальный вопрос был в основном: "как получить изображение запуска (в раскадровке или LaunchImage), которое соответствует bg первой игровой сцены без масштабирования на всех разрешениях?"

Я решил это, и это работает, используя LaunchImage. Однако есть осложнения.

добавьте LaunchImage в папку Assets, затем укажите его в настройки проекта:

enter image description here

тогда вы ожидали бы сделать это:

enter image description here

в результате:

enter image description here

но при сборке вы получаете предупреждение:

enter image description here

нужно этого для LaunchImage:

enter image description here

в результате в:

enter image description here

и нет никакого предупреждения.... и LaunchImage работает на всех iPhones / iPads.

размер изображения:

iPhoneX (iPhone X пейзаж iOS 11+): 2436 x 1125

Retina HD 5.5" (iPhone пейзаж iOS 8,9): 2208 x 1242

2x (iPhone портрет iOS 7-9): 640 x 960

Retina4 (iPhone портрет iOS 7-9): 640 x 1136

1x (iPad пейзаж iOS 7-9): 1024 x 768

2x (iPad пейзаж iOS 7-9): 2048 x 1536

система явно грязная и нуждается в надлежащей реконструкции Apple.


вы можете сохранить изображение большего размера, как 3x изображение в наборе изображений! Я имею в виду 1125px × 2436px is на 375pt × 812pt.

Итак, в вашем наборе изображений замените старый 3x изображение с размером изображения havign 1125px × 2436px и ваш launchscreen (раскадровка или xib) не будет растягиваться, я думаю!


изменить:
Я хотел подчеркнуть, что можно добавить изображение запуска для iPhone X, но @Christian Cerri просил добавить обычное изображение в представление изображения в LaunchScreen.раскадровка специально для iPhone X, что невозможно.

Оригинальный Ответ:
Нет возможности добавить изображение специально для iPhone X в каталог активов (потому что он использует @3x), поэтому вы, вероятно, должны использовать изображения запуска для этого, если хотите другое изображение только для iPhone Икс.


Я удалил представление изображения из xib и очистил производные данные и сборку. Снова добавлен простой вид изображения и чем установить изображение после установки ограничений (ведущий, трейлинг, верхний, нижний) для просмотра. Это сработало.