Как добавить iPhoneX Launch Image
используя Xcode Версии 9.0 (9A235), я пытаюсь добавить изображение запуска для iPhoneX по запросу 2436px × 1125px (пейзаж). В настоящее время я использую раскадровку, и она выглядит так:
"launchimage" - это вид изображения, связанный с набором изображений:
и набор изображений выглядит следующим образом:
единственное место, где я получаю iPhoneX размер изображения находится в наборе изображений запуска:
но когда я пытаюсь выбрать изображение запуска в виде изображения на раскадровке, его нельзя выбрать:
любая помощь о том, как добавить правильный размер изображения запуска для iPhoneX или вернуться к запуску изображений? Я бы предпочел изображение правильного размера, а не растянутое.
обновление:
Я хотел бы объяснить, почему я хочу изображение должно быть точно таким же пикселом на пиксель. В соответствии с руководящими принципами https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/ my launch image-это статическая версия первой страницы приложения. Если изображение запуска растянуто, то есть заметный переход от изображения запуска к первой странице. Какой вид поражает объект руководящих принципов. Apple рекомендует использовать запуск раскадровки, но, похоже, вы не можете следовать их рекомендациям, если вы делать. Типичный, на самом деле.
8 ответов
если используется LaunchImage.launchimage
для запуска решение (в Xcdoe 9.0):
выберите
Assets.xcassets
, щелкните правой кнопкой мыши на средней панели, выберитеApp Icons & launch Images
->New iOS Launch Image
. Тогда двигай старыйLaunchImage.launchimage
изображения к новому, и добавьте размер изображения с1125×2436 px
для iPhoneX.кроме того, вы можете добавить следующий объект 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 - это ярлык для вас.
- открыть активы.xcassets В в Xcode.
- щелкните правой кнопкой мыши в вашем LanchImage затем выберите Показать В Finder.
- открыть содержание.в JSON
- вставьте следующие коды внутри вашего "картинки" массив.
{ "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:
затем добавьте свой вид изображения, чтобы он заполнял всю область следующим образом:
и прикрепите его к супервизору с константами 0. Важно сделать это с выбранным iPhone X, потому что в противном случае вы вероятно, прикрепите к верхнему руководству макета, которое вы не хотите, потому что оно оставит вас с зазором вверху.
ваш constaints должен выглядеть так (прижат к Суперпанель):
в портретной ориентации ширина дисплея на iPhone X соответствует ширина 4,7" дисплеев iPhone 6, iPhone 7, и iPhone 8. Дисплей на iPhone X, однако, 145pt выше, чем 4,7 " дисплей, в результате примерно 20% дополнительного вертикального пространства для контента.
вероятно, ваше изображение в порядке, но попробуйте очистить (cmd + K) и восстановление проекта.
Если не помогает, затем удалите это изображение из Xcode и снова добавьте его, перетащив эти изображения в Xcode. И перестроить его. Это должно сработать.
использование Xcode версии 9.1 (9B55), благодаря ответам выше (особенно Stoull), однако мой опыт немного отличается. Мой первоначальный вопрос был в основном: "как получить изображение запуска (в раскадровке или LaunchImage), которое соответствует bg первой игровой сцены без масштабирования на всех разрешениях?"
Я решил это, и это работает, используя LaunchImage. Однако есть осложнения.
добавьте LaunchImage в папку Assets, затем укажите его в настройки проекта:
тогда вы ожидали бы сделать это:
в результате:
но при сборке вы получаете предупреждение:
нужно этого для LaunchImage:
в результате в:
и нет никакого предупреждения.... и 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 и очистил производные данные и сборку. Снова добавлен простой вид изображения и чем установить изображение после установки ограничений (ведущий, трейлинг, верхний, нижний) для просмотра. Это сработало.