Миграция существующего приложения для поддержки адаптивного макета
Я читал блоги об Adaptive Layout и сделал несколько уроков, чтобы увидеть это на практике. Теперь я хочу попробовать перенести существующее приложение iOS для поддержки классов Adaptive Layout / Size. Сейчас в Интернете можно прочитать много информации об Adaptive Layout, блогах, руководствах и т. Д. Но все они основаны на создании нового проекта. Я не могу найти какое-то пошаговое руководство по миграции существующего приложения. Какой шаг сделать первым, где искать второй, какие куски кода заменить (например, initWithFrame). Кто-нибудь знает какое-то руководство, которому нужно следовать при миграции существующего приложения? Заранее спасибо.
2 ответа
Насколько я знаю, миграция вашего приложения для поддержки адаптивных макетов / классов размеров, скорее всего, запускает новый проект.
Следуйте инструкциям по переносу приложения.
- Откройте свой проект в последнем Xcode.
- Выберите контроллер представления в раскадровке.
- В инспекторе Атрибутов выберите "Размер" для Inferred. Ваш контроллер вида будет отображаться в квадратных размерах.
- Теперь, основываясь на классах размеров, вам нужно установить ограничения.
И для перехода к коду необходимо переопределить метод
- (void)updateConstraintsForTraitCollection:(UITraitCollection *)collection
В зависимости от класса размера вам нужно установить свои ограничения программно.
Здесь идет пример кода.
- (void)updateConstraintsForTraitCollection:(UITraitCollection *)collection
{
if (collection.verticalSizeClass == UIUserInterfaceSizeClassCompact) {
//constraints for this specific class will go here
} else {
//default constraints
}
}
Единственное, что вы преодолеете в этом процессе, - это настройка интерфейса. В остальном все похоже на запуск нового проекта.
Надеюсь, это поможет вам.:)
Следующие шаги должны быть предприняты:
Во-первых, чтобы применить Adaptive Layout и Universal Storyboard в существующем приложении, вам необходимо превратить существующую раскадровку в универсальную раскадровку - раскадровку, которая может обрабатывать ваш интерфейс для любого размера экрана. Откройте раскадровку и перейдите на информационную панель и установите флажки "Использовать автоматическое расположение" и " Использовать классы размеров".
Во-вторых, вам нужно включить Fulscreen Mode.
Согласно Apple: вовремя выполнения система ищет файл экрана запуска раскадровки, чтобы система знала, что ваше приложение поддерживает размеры экрана iPhone 6, включая файл экрана запуска раскадровки в комплекте вашего приложения. Если такой файл присутствует, Система предполагает, что ваше приложение явно поддерживает iPhone 6 и 6 Plus и запускает его в полноэкранном режиме.
Добавьте новый файл в свое приложение, перейдя в " Новый файл". В iOS > Пользовательский интерфейс есть новый тип файла, называемый Launch Screen, который добавляет новый экран запуска в ваше приложение. Наконец, перейдите к общим настройкам вашего проекта и выберите новый xib-файл для поля Launch Screen File.
РЕДАКТИРОВАТЬ:
Вы также можете мигрировать значки приложений и запускать изображения в каталог активов. Перейдите к общим настройкам вашего проекта и нажмите " Использовать каталог активов для источника значков приложений". Xcode попросит вас перенести значки приложений в каталог ресурсов, а также перенести существующие образы запуска.
Примечание. Если вы по-прежнему поддерживает iOS 7 и / или более ранние версии, вам все равно нужно предоставить 4-дюймовые образы запуска. Если вы этого не сделаете, ваше приложение будет отображаться в режиме 3,5″.