Arhn - архитектура программирования

Как интегрировать заставку для всех типов iPhone в Xcode 6.1?

Мне нужно создать приложение, которое будет работать на iPhone 4S, 5,5S, 6, 6+, а целью развертывания будет iOS 7.1. Я видел, как Apple представила LauchScreens.xib для создания экрана запуска (заставки), а также есть ресурсы изображения, в которых я могу предоставить экраны изображений запуска. См. изображение ниже:

введите здесь описание изображения

Итак, мой вопрос: как я могу использовать заставку для всех iPhone? Или я должен сказать, каков стандартный способ сделать это, когда я использую Xcode 6?

Я искал ответы и читал блоги и документы Apple, но ничего не нашел. Все пело свою песню, но не ответ.


  • Я не понимаю. Xcode уже дает подсказку о разрешении и формате изображений запуска, а документация Apple уже четко указана. Просто перетащите изображения на правильный заполнитель. 22.09.2014
  • @Raptor Тогда зачем LaunchScreens.xib? Какой в ​​этом смысл, если я могу использовать imageAssets. Это сбивает меня с толку. 22.09.2014
  • Кроме того, какими должны быть соглашения об именах для экранов-заставок iPhone 6 и iPhone 6+? Пожалуйста, поделитесь ссылкой на документ, если он существует. 22.09.2014
  • НЕТ LaunchScreens.xib. Вы создали его? Экран-заставка не использует XIB/раскадровку. 22.09.2014
  • Создайте новый проект с XCode 6.1. тогда проверь! Он приходит по умолчанию. 22.09.2014
  • какой шаблон Xcode вы используете? Кстати, Xcode 6.1 еще не вышел. Вы имеете в виду 6.0.1? 22.09.2014
  • Я использую бета-версию 6.1! 22.09.2014

Ответы:


1

В Xcode6 для экрана-заставки всех устройств вам необходимо создать изображение-заставку для сетчатки и не сетчатки каждого размера устройства.

Лучший способ сделать это — использовать каталог активов из цели -> общие, как показано на следующем снимке экрана:

введите здесь описание изображения

когда вы нажимаете правую маленькую стрелку рядом с launchImage (->), вы можете увидеть следующее окно:

введите здесь описание изображения

В настоящее время он пуст, потому что с правой стороны нет выбранной цели, поэтому, если ваша цель развертывания — 6.0, вам нужно установить галочку, как показано на следующем снимке экрана, чтобы вы могли видеть поле «Все изображения»:

введите здесь описание изображения

Посмотрите, когда вы добавляете изображение неправильного размера в каталог, вы можете получить предупреждение в правом верхнем углу, и когда вы нажимаете на это предупреждение, вы можете получить фактический размер. см. следующий снимок экрана для:

введите здесь описание изображения

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

Другой способ

Нет необходимости использовать Asses Catalog и не нужно использовать LaunchScreen.xib, вы все равно можете использовать старый способ:

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

Default-568h.png                   320 x 568      
[email protected]                640 x 1136
[email protected]                750 x 1334
[email protected]                1242 x 2208
Default.png                        320 x 480
[email protected]                     640 x 960

Теперь в plist вам нужно добавить следующие данные:

  • Добавьте одну строку, нажав (+), она называется UILaunchImages

введите здесь описание изображения

  • и вам нужно заполнить эту строку следующим образом

введите здесь описание изображения

вот и не нужно ничего делать, надеюсь, что ответ поможет и другим.

28.01.2015
  • Спасибо за прекрасный ответ. имеет ли значение соглашение об именах для установки изображений заставки в папке LunachImages в каталоге активов или это может быть что угодно? 31.01.2015
  • Я не думаю, но я использовал то же имя, что и обычно. 31.01.2015
  • Спасибо за это. Я не знал, что вы можете включить / отключить размеры заставки. Также Каталог ослов. Хе. 04.02.2015
  • Спасибо за отличный ответ. Другой способ отлично работает с iOS 9 (iPhone 6s и 6s Plus) под Xcode 7.0.1. 07.10.2015
  • Спасибо. Замечательный ответ! 22.03.2016

  • 2

    В Xcode 6.4 по состоянию на 06.07.2015 (гггг-мм-дд) я использовал изображения запуска, а не файл экрана запуска (.xib). Это нацелено на iOS 7.1+.

    Сначала удалите запись из раскрывающегося списка «Файл экрана запуска». Оставьте это поле пустым, если оно указывает на .xib, то .xib переопределит источник изображений запуска. Вот настройка в Target / General / App Icons и Launch Images. /Users/patrickweigel/Desktop/Screen Shot 06 июля 2015 г., 10.20.36.png

    Во-вторых, создайте новый образ запуска (НЕ новый набор изображений) после выбора «+» в нижней части средней панели в файле Images.xcassets. Вот всплывающее окно после выбора «+». введите здесь описание изображения

    В-третьих, в новом образе запуска будет 20 квадратов, каждый из которых будет запрашивать файл .png. Теперь вам нужно создать 20 файлов .png нужного размера. Я использовал Pixelmator и экспортировал каждый файл в формате .png. Но что такое «правильный размер»? Увидеть ниже. введите здесь описание изображения

    Запустить диаграмму правильного размера изображений введите описание изображения здесь'* Нет строки состояния

    06.07.2015

    3

    Иногда я играл с Xcode 6 и обнаружил, что LaunchScreen.xib работает только для iOS 8, поэтому, если вы хотите предоставить изображение запуска для всех ваших устройств, ваше приложение поддерживает, вы можете сделать, как показано ниже.

    Для Устройства с iOS 7 вы можете делать как обычно, то, что мы делали с помощью images.xcassets enter  описание изображения здесь

    Для устройств iOS 8 у вас есть два пути.

    1. Просто вы можете использовать LaunchScreen.xib. введите описание изображения здесьэто изображение показывает, как Xcode по умолчанию устанавливает LaunchScreen.xib для файла экрана запуска iOS 8.

      1. If you don't want to set LaunchScreen.xib as launch screen file and want to display some launch image as you want in iOS 7 device, so just remove launch screen file name and make it blank(see below image) and delete LaunchScreen.xib file from Xcode. In this case iOS 8 device also takes launch image from launch images from images.xcassets. enter image description here
    10.10.2014

    4

    Новый способ создания заставок для iOS 8 и более поздних версий — определить файл LaunchScreen.xib. Это также доступно как новый тип файла ресурсов в XCode 6.

    Этот новый XIB будет использовать AutoLayout и новые классы размеров, чтобы определить, как вы хотите расположить свой экран-заставку.

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

    Вы можете установить файл launch.xib на первом экране целевых свойств в вашем проекте XCode.

    Если вы хотите использовать старый способ, вы все еще можете определить заставки PNG для использования в качестве изображений запуска, которые по-прежнему полностью поддерживаются. Из того, что я вижу, это по-прежнему единственный способ, если вы хотите поддерживать старые версии iOS.

    Обратите внимание: если вы хотите поддерживать новые разрешения iPhone 6 / 6 Plus, вам должно определиться либо xib запуска, либо поместить файлы PNG правильного размера в каталог ресурсов, иначе вы получите размытое изображение. автоматически масштабируемый пользовательский интерфейс, который старые приложения получают в режиме совместимости.

    22.09.2014
  • Это мой вопрос. Если я использую каталог образов для запуска образа, что делать с LaunchScreen.xib? 22.09.2014
  • Удалите xib. Удалите параметр Launch XIB в цели XCode. Он будет автоматически использовать PNG. Не забудьте очистить проект перед его запуском. 22.09.2014
  • Итак, Дирадж! Зачем Apple предоставила LaunchScreen.xib, если у нас уже был каталог изображений? Любая идея или ссылка? 22.09.2014
  • Предположительно, механизм XIB лучше. Вы можете создать один экран-заставку, который будет работать для всех устройств и ориентаций. Кроме того, если вы не поместите изображения в XIB, размер файла XIB будет меньше, чем объединенные размеры файлов всех PNG. 22.09.2014
  • Я также думал о том же, чтобы использовать один и тот же XIB для всех устройств iPhone, но будет проблема, когда вы будете показывать логотип своей компании на заставке в случае iPhone 3.5, потому что в этом случае изображение будет сжато . Кроме того, приложение будет использовать то же изображение для iPhone 5, 5S, что и для iPhone 6Plus. Не так ли?? 22.09.2014
  • Стандартный макет, правила выбора изображений применяются в соответствии с классами AutoLayout и Size. Пожалуйста, обратитесь к видеороликам WWDC по Auto Layout in Interface Builder, чтобы узнать, как это сделать. 22.09.2014
  • Дхирадж Гупта Не могли бы вы поделиться ссылкой на это видео? Я не нашел этого. 22.09.2014
  • Просто хотел сообщить вам, что я также использую классы размеров вместе с ограничениями! 22.09.2014
  • У тебя есть что-нибудь для меня? 23.09.2014
  • @DhirajGupta Ты меня вдохновил. Я создал LaunchScreen.xib с векторными изображениями для iOS 8, и он работает очень хорошо. Но мне пришлось создать каталог активов LaunchImage для устройств iOS 7... пожалуйста, посмотрите мой ответ в другой теме: stackoverflow.com/a /26477333/3052059 21.10.2014
  • @Dhiraj Gupta, пожалуйста, дайте мне знать о любом варианте локализации как на русском, так и на английском языке. 09.04.2015
  • @annu Не будут ли работать стандартные механизмы локализации XIB? Не пробовал, но думаю, что способ локализации XIB будет общепринятым. 09.04.2015
  • @DhirajGupta, вы говорите о локализации в обеденном варианте xib. 10.04.2015
  • @annu Да, почему ты не можешь его локализовать? Если вы локализуете другие XIB, это должно быть естественным. Ты пробовал это? Я думаю, что одной из основных причин, по которой Apple сделала возможным запуск XIB, была возможность его локализации. 10.04.2015
  • @DhirajGupta Запуск XIB не загружает другую локализацию 10.04.2015
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..