Миграция существующего приложения для поддержки адаптивного макета

Я читал блоги об Adaptive Layout и сделал несколько уроков, чтобы увидеть это на практике. Теперь я хочу попробовать перенести существующее приложение iOS для поддержки классов Adaptive Layout / Size. Сейчас в Интернете можно прочитать много информации об Adaptive Layout, блогах, руководствах и т. Д. Но все они основаны на создании нового проекта. Я не могу найти какое-то пошаговое руководство по миграции существующего приложения. Какой шаг сделать первым, где искать второй, какие куски кода заменить (например, initWithFrame). Кто-нибудь знает какое-то руководство, которому нужно следовать при миграции существующего приложения? Заранее спасибо.

2 ответа

Насколько я знаю, миграция вашего приложения для поддержки адаптивных макетов / классов размеров, скорее всего, запускает новый проект.

Следуйте инструкциям по переносу приложения.

  1. Откройте свой проект в последнем Xcode.
  2. Выберите контроллер представления в раскадровке.
  3. В инспекторе Атрибутов выберите "Размер" для Inferred. Ваш контроллер вида будет отображаться в квадратных размерах.
  4. Теперь, основываясь на классах размеров, вам нужно установить ограничения.

И для перехода к коду необходимо переопределить метод

- (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″.

Другие вопросы по тегам