Как / нужно ли сделать универсальную раскадровку в Xcode

При создании файла раскадровки в XCode, вы должны выбрать, если это для iPhone или iPad. Это подразумевает, что пользовательские интерфейсы iPhone и iPad всегда следует помещать в отдельные раскадровки. Это правда?

Мое приложение имеет несколько раскадровок. В то время как файлы Main.storyboard сильно различаются между iPhone и iPad, другие раскадровки почти идентичны. Единственная разница может заключаться в том, что iPhone и popover на iPad работают с программным обеспечением. Кажется ужасно глупым и излишним делать две раскадровки.

Так что, если вы делаете одну "универсальную" раскадровку, стоит ли выбирать iPhone или iPad в Xcode? Это имеет значение?

2 ответа

Решение

Начиная с Xcode 6, мы можем создать единую раскадровку для всех устройств. Для получения дополнительной информации - Документация

iOS 8 делает работу с размером экрана и ориентацией намного более универсальной. Легче, чем когда-либо, создать единый интерфейс для вашего приложения, который будет хорошо работать как на iPad, так и на iPhone, приспосабливаясь к изменениям ориентации и разным размерам экрана по мере необходимости. Разрабатывайте приложения с помощью общего интерфейса, а затем настраивайте их для разных классов размеров. Адаптируйте свой пользовательский интерфейс к сильным сторонам каждого форм-фактора. Вам больше не нужно создавать конкретную раскадровку для iPad; вместо этого нацеливайтесь на соответствующие классы размера и настройте свой интерфейс для лучшего опыта.

В iOS 8 есть два типа классов размеров: обычный и компактный. Класс обычного размера обозначает либо большой объем экранного пространства, например, на iPad, либо общепринятую парадигму, которая создает иллюзию большого объема экранного пространства, например прокрутки на iPhone. Каждое устройство определяется классом размеров, как по вертикали, так и по горизонтали. Классы размера iPad отображают классы родного размера для iPad. При наличии свободного места на экране iPad имеет класс обычного размера в вертикальном и горизонтальном направлениях как в книжной, так и в альбомной ориентации.

Редактировать: он поддерживает только iOS 8(обратная совместимость применяется только для iOS 7) и выше.

Вы должны создать отдельные раскадровки для каждого типа устройства. Если вы удалите раскадровку iPad, то ваше приложение будет использовать iPhone. Вы поймете это, когда увидите кнопку 2х внизу экрана. Все будет масштабировано, чтобы соответствовать большему экрану - и графика была бы действительно плохой.

Единственный подходящий обходной путь - скопировать и вставить все, начиная с раскадровки iPhone и раскадровки iPad. Просто выполните следующие шаги:

  1. Откройте iPhone.storyboard,
  2. Нажмите CMD + A,
  3. Нажмите CMD + C,
  4. Переключиться на iPad.storyboard,
  5. Нажмите CMD + V,
  6. Вы увидите, что все экраны, переходы, свойства и действия переносятся в вашу новую раскадровку. Все, что вам нужно сделать, это исправить рамки всех ваших элементов так, чтобы они соответствовали новым размерам экрана.

И не забывайте, что хорошее приложение для iPad не должно совпадать с версией для iPhone. Есть много интересных вещей, которые вы можете сделать с iPad!

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