Это просто дополнение к тому, как быстро использовать «Различные черты» в вашем проекте для добавления различных макетов для iPad и iPhone.
Пожалуйста, прочтите это, чтобы узнать больше о классах размера.
https://developer.apple.com/reference/uikit/uitraitcollection
Если вы пропускаете пример, который следует ниже, обязательно прочтите сводку в конце.
Вам нужна кнопка разной ширины на iPhone и iPad. Первый имеет ширину 80, а второй - 300.
Варьируйте черты с несколькими ограничениями, как установлено.
ШАГИ:
- Сначала добавьте общие ограничения, например Центрировать кнопку по горизонтали и вертикали.
- Выберите VaryForTraits и для экранов iPhone в соответствии с рекомендациями по классам размера, класс размера C * R соответствует модели, и мы проверяем галочки ширины и высоты в PopUp. Закройте всплывающее окно, щелкнув в любом месте экрана.
- Добавьте константу ширины и проверьте, добавлено ли ограничение для класса размера C * R. После добавления ограничений нажмите кнопку Done Varying.
- Для экранов iPad снова выберите любое устройство iPad и выберите VaryForTraits, и на этот раз при нажатии на высоту и ширину он должен показать изменение R * R.
- Снова добавьте ограничение ширины, последнее добавленное ограничение ширины iPhone должно быть невыделено, как на снимке экрана. На этот раз добавленная стоимость будет для класса размера R * R.
- Вернитесь к макету iPhone, ширина будет 80, а для iPad - 300.
ВЫВОД :
Обратите внимание, что всего добавлено два ограничения, и в обоих ограничениях значения различаются в зависимости от выбранного класса размера.
Варьировать для признаков с одним ограничением, установлено несколько классов размера
- ШАГИ:
- Добавьте ограничение нормальной ширины. Затем выберите это ограничение и нажмите кнопку + рядом с постоянным значением.
- Добавьте вариацию признаков, и для iPhone мы выбираем C * R и устанавливаем постоянное значение 100.
- Опять же, для iPad, который следует за вариацией признака как R * R, мы добавляем другую вариацию, снова нажимая кнопку + и устанавливая значение 300.
- Выберите iPad, и ширина будет автоматически принята равной 300, а при возвращении на iPhone - 100.
ВЫВОД :
Это кажется лучшим вариантом, чем добавление двух ограничений, когда требуется только одно ограничение, а постоянное значение отличается.
КОГДА ИСПОЛЬЗОВАТЬ, ЧТО ИСПОЛЬЗОВАТЬ:
Оба подхода в основном делают одно и то же, устанавливая значения для классов размера.
Но # Method1 используется, когда вы хотите добавить ограничение специально для устройства или, скажем, класса размера. Например, в iPhone кнопка должна быть от Top 50 пунктов, а в iPad она должна быть центрирована по горизонтали и вертикали. В таких ситуациях вам необходимо использовать VaryForTraits, поскольку он открывает двери для добавления ограничений для определенного класса размеров.
# Method2 используется, когда вам нужны разные постоянные значения для одного и того же типа ограничения.
PS: ДЛЯ ВСЕХ, КТО НЕ МОЖЕТ ПОЛУЧИТЬ ПРИМЕР РАБОТЫ
Убедитесь, что вы добавляете только необходимые ограничения как установленные. Флажок «Установлено» должен отображаться только для ограничения, необходимого для класса размера. Это ключ!
Просто добавьте верхнее ограничение и ведущую к uiButton в представлении. Выберите верхнее ограничение и снимите флажок с базовой опции «Установлено» со знаком «плюс». Теперь, нажав на знак «Плюс», добавьте вариацию в C R и отметьте эту опцию. Теперь смените устройство с iPhone на iPad с различными комбинациями ориентации. Это ограничение будет применяться только для класса размера C R, который является iPhone в портретной ориентации. Если флажок рядом с основным установленным (тот, который отмечен символом плюса) установлен, это означает, что ограничение должно применяться ко всем классам размеров.
РЕЗЮМЕ :
Вариация характеристик - это изменение представления вашего пользовательского интерфейса, основанное на конфигурации устройства. Варианты свойств пользовательского интерфейса не ограничиваются только ограничениями, но могут применяться к гораздо большему. Например, изменение цвета фона и других элементов, когда устройство настроено на темный стиль. Вариант может применяться к элементу пользовательского интерфейса, например к удалению ограничения, или к свойству класса представления или ограничения, например шрифту для метки. Вы можете варьировать:
Конкретный набор свойств, которые вы можете изменить, зависит от класса элемента. В этом примере мы продемонстрировали использование - установки ограничения & - константы ограничения. Другие довольно просты и их легко вывести.