Создание Экрана Запуска.xib для iOS8 (... iOS11, Swift 4 и LaunchScreen.раскадровка)
Я только что узнал, что для того, чтобы иметь описание для вашего приложения в app store, скажите: "это приложение оптимизировано для iPhone 6 и iPhone 6 Plus."вам нужно использовать файл launch XIB или раскадровки для ваших изображений запуска (per [Apple][1]).
Итак, я создал новый экран запуска xib, и теперь я немного, но так как я обычно делаю все в коде и не использую interface builder. Я удалил метку по умолчанию, которая вставлена и отброшена UIImageView
в вид. Теперь мне интересно, как бы я:
1) сказать UIImageView
для изменения размера под размер любого экрана на
2) Скажите UIImageView, чтобы выбрать ImageA, если 3,5-дюймовый экран работает приложение или ImageB, если 4-дюймовый экран работает приложение и т.д. так далее.
по сути, я просто пытаюсь сделать запуск .xib для имитации поведения, как экран запуска работает нормально. Был бы признателен, если бы кто-нибудь мог оказать некоторую помощь в этом!
4 ответов
У вас есть два варианта:
вы используете autolayout и даете imageview полноэкранный вид (расстояние до верхней, нижней, левой и правой равно 0). Однако это приведет к обрезке изображения для определенных размеров экрана, чего вы можете не захотеть. Поэтому вы можете рассмотреть (2)
вы помещаете изображение экрана запуска в каталог активов и просто помещаете разные изображения в другой размер занятия.
Я нашел ответ полезным.
старые шаги вкратце для создания LaunchScreen xib для iOS 8 are ниже новые шаги.
со ссылкой на XCode 9, Swift 3 или Swift 4 и LaunchScreen.раскадровка ниже приведены новые шаги.
первый шаг-создать два изображения для портретного и ландшафтного режима splash (png или jpeg ) в вашем любимом графическом программном обеспечении. ( Если ваше приложение поддерживает только портретный режим, Вы можете пропустить изображение и настройки ландшафтного режима. )
портретный режим изображения :-
создайте изображение " splash-portrait "с вашим собственным полным фоном для размера"width 1125 x height 2436". Обратите внимание, что фон будет клип на различных размерах устройств.
какая бы информация, графический, вы не хотите быть обрезаны должны быть созданы по центру изображения выше в размере " ширина 1125 x высота 1471". Это всегда должно быть в центре внимания. полное изображение.
изображение ландшафтного режима: -
создать образ 'заставка-пейзаж с полный фон размер "ширина 2436 х высота 1125". Обратите внимание, что фон будет клип на различных размерах устройств.
какая бы информация, графический, вы не хотите быть обрезаны должны быть созданы по центру выше изображения в размере " ширина 860 x высота 1125". Это всегда должно быть в центре выше полного изображения.
после того, как образы готовы, вы можете добавить его в xcassets или сохранить в ресурс.
Теперь перейдите к следующим шагам.
1)" launchscreen раскадровка " уже создана с новым проектом. Открыть его.
2) добавить изображение на вид.
3) Установите выше сохраненное изображение "splash-portrait"в Источник изображения.
4) Установите вид изображения "режим содержимого" изображения как "заливка аспекта".
5) Добавить 4 ограничения вида изображения для Верхнего, Нижнего, Трейлинг и ведущий к Superview.
Это делается для портрет приложение режим заставки.
на пейзаж поддержка режима, выполните следующие дополнительные шаги. (вы можете сослаться на полный ответ @Sakiboy на https://stackoverflow.com/a/46089856/2641380 )
6) Нажмите кнопку + рядом с источником представления изображения, настроенным на Шаге 3.
7) из всплывающего окна, которое теперь отображается выберите обычный для обоих Селекторы ширины и высоты. Это указывает новый адаптивный набор для iPads, которые находятся в ландшафте. Появится новое поле источника изображения с заголовком WR hR. Добавьте изображение "splash-landscape" в поле источника изображения WR hR, чтобы раскадровка знала, как использовать другое изображение в ландшафте.
8) Теперь нам нужно добавить поддержку для устройств "iphone plus", когда в ландшафте. Поэтому нажмите кнопку + рядом с полем Источник изображения еще раз.
9) на этот раз выберите compact для высота и регулярн для селекторов ширины. Это указание нового адаптивного набора для устройств "iPhone plus", которые находятся в ландшафте. Появится новое поле источника изображения с заголовком wR hC.
10) Добавьте изображение " splash-landscape "в поле источника изображения wR hC, чтобы раскадровка знала, что использовать другое изображение, когда в ландшафте на"устройстве iPhone plus".
поскольку устройства iPad являются "обычными для ширины и высоты", мы увидим изображение "splash-landscape" в iPad для портретного и ландшафтного режима. Ширина 860 для отображаемого содержимого в изображении "splash-landscape" будет отображаться полное содержимое как в портретном, так и в ландшафтном режиме.
старые шаги вкратце для создания LaunchScreen xib для iOS 8.
1) создайте новый "LaunchScreen xib" из нового файла --> пользовательский интерфейс --> экран запуска ( сохранить автоматический макет ).
2) Добавьте представление изображения в xib --> view (main view).
3) установить заставку ему (изображение не должно быть в файле assets).
4) Установите изображение как "аспект Fit" (если требуется ).
5) вы также можете изменить цвет фона "view" (super view) как можно ближе к цвету фона изображения.
6) выберите вид изображения, нажмите из меню-редактор-pin-Нижний пробел, чтобы супер вид.
7) это покажет красный знак ошибки рядом с "view" (super view of image view ).
8) нажмите на отметке, вы увидите приблизительный две ошибки автоматической компоновки.
9) при нажатии на ошибку вы найдете меню с автоматическим исправлением ошибок макета.
10) при исправлении ошибок вы найдете всего четыре "ограничения" с "вертикальным" и "горизонтальным" пространством между супервизором и изображением.
11) Теперь вы можете протестировать их в различных устройствах и тренажерах.
с уважением.
вы можете изменить размер изображения, установив ограничение на верхний, нижний, передний и задний края супервизора. Просто нажмите imageview и выберите Editor - >Pin в верхнем контекстном меню. Вы также можете установить аспекты UIImageView, щелкнув его и установив его, например, "Aspect Fit". Убедитесь, что ImageView охватывает весь экран перед установкой ограничений, иначе вам придется изменить ограничения.
установить различные изображения для различного экрана размеры, я бы предположил, что вам нужно создать класс и изменить метод viewWillAppear для загрузки соответствующего изображения
удачи! Эрик!--1-->
запуск xib не может иметь настраиваемый класс, так как ваше приложение не запускается при его отображении. В итоге я сделал следующее:--1-->
- используйте функцию калибровки класс
- создать 3 изображения пользовательского интерфейса (по одному на класс размеров)
- используйте auto layout с ограничениями, которые применяются к каждому классу размеров
поэтому при отображении одного типа устройства ограничения ширины и высоты двух других UIImageView устанавливаются в 0