Построение интерфейсов для 3,5-дюймовых iPhone в Xcode 6

В Xcode 6 способ макета для устройств разного размера несколько изменился: теперь у нас есть классы классов. Но как я могу установить интерфейс для 3,5-дюймового iPhone?

"Компактный" класс высоты, похоже, не применяется здесь. Я понимаю, что могу изменить значения сопротивления/сжатия (и т.д.), Но в моем случае я хочу иметь возможность изменять размер шрифта для этого размера устройства.

Неужели это невозможно? Я понимаю, что iOS 8 удаляет поддержку iPhone 4 (но не 4S). Мы также не можем полностью ориентироваться на чисто iOS 8 и должны поддерживать 7 и даже 6.

Ответы

Ответ 1

Кажется, что не существует способа использовать классы размера для выделения определенного размера устройства. Думаю, Apple не предполагала, что эта функция будет использоваться для создания разных макетов, основанных исключительно на размере экрана, а скорее на более широких концепциях, таких как ориентация и тип устройства (iPhone, портрет или iPad, пейзаж). Другими словами, "у вас нет разных дизайнов для iPhone 4/4s, 5/5c/5s или 6/6 +"...

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

Ответ 2

iPhone 3,5 дюйма будут иметь следующие классы размеров:

  • Компактный w Обычный h - в портрете
  • Компактный компактный h - в ландшафте (уникальный для iPhone 3,5 дюйма).

Итак, это единственные классы размера, которые вы можете использовать для iPhone 3.5 дюйма.

Похоже, что некоторые из классов размера работают с iOS 7 в соответствии со ссылкой, предоставленной "@Guillaume Algis" Как адаптивные интерфейсы Xcode 6 будут обратно совместимы с iOS 7 и iOS 6?

Однако информации об их поддержке в iOS 6 нет, и все еще есть проблемы даже с iOS 7.

Если вам действительно нужно поддерживать iOS 6 и 7, и вы в порядке с AutoLayout + несколькими раскадными текстами /xib для разных идиом устройств, вы можете просто отключить классы размера для ваших раскадровки /xibs с помощью File Inspector, сняв флажок "Use Size Classes".