Автоматическая компоновка пропорционально масштабируемости

Я уже нашел несколько вопросов и ответов по этой теме, но я просто не могу заставить это работать для меня.

Scaling

Синий прямоугольник - это UIView, который содержит кнопку Test Label и Gear. Красный - это второй UIView.

Что я хотел бы сделать, так это увеличить размер синей полосы (что является UIView) для экранов большего размера, что приведет к масштабированию кнопки "Ярлык" и настроек, в то время как красный UIView сжимается по высоте поэтому синий UIView может стать больше. Поэтому в основном возникает вопрос, как пропорционально масштабировать UIViews для разных размеров экрана.

Я попытался использовать ограничения соотношения сторон, ограничения высоты (больше или меньше), но я просто не могу получить желаемый эффект.

Спасибо.

Ответ 1

Попробуйте пропорциональную высоту и ширину. Вам нужно сделать ограничения для равных высот и/или равных Widths, а затем дважды нажмите на ограничение и измените множитель, например 0.2, если вы хотите, чтобы First Item составлял 20% второго элемента по ширине и 2.0 для 200% ( означает двойной) по ширине. чтобы увеличить или уменьшить пропорционально вашему требованию enter image description here

Ответ 2

У вас есть два способа сделать это:

1. Пропорциональные ограничения:

но если вы установите пропорциональную высоту для одного вида, это означает, что представление изменяется для каждого небольшого изменения размера экрана. Например, ваш взгляд может быть немного большим, переключаясь с 4 "на 4,7", но не означает, что это плохая идея.

Для использования этой функции просто проверьте ответ Асадуллы Али:)

2. Использовать размер-классы:

если вы используете Xcode 6, вы можете использовать классы размера и добавлять ограничения только для размера экрана; это не сложно использовать, проверьте Документация Apple.

Для этой функции вам нужны классы размера для вашей раскадровки:

enter image description here

после этого вы можете настроить свой контроллер представления так, как вы хотите, и добавить правило только для одного из классов:

enter image description here

вы можете сказать Xcode "ОК, если размер экрана составляет 5,5, по крайней мере, используйте это правило".

Помните, что для добавления ограничения для определенных классов размеров вам нужно сначала выбрать класс размера, а затем добавить обычно ваше ограничение: при выборе класса размера (вы можете проверить элемент управления классами размера). Xcode добавляет ограничения только для этого класс.

РЕДАКТИРОВАТЬ 1. Если у вас есть проблемы с масштабированием шрифта и аналогичным, вы также можете использовать функцию размерных классов только для масштабирования размера шрифта на ярлыке, например; вы найдете этот параметр, щелкнув по нему после активации функции классов размеров:

How add a font size for one size class


Я предпочитаю рассказать вам все, что я знаю о вашей проблеме, но в вашем случае лично я бы использовал первое решение: ваше представление может динамически изменять все размеры экрана.

Вам нужно найти наилучший пропорциональный процент: вы можете установить, может быть, около 10%, поэтому 0,1 умножитель с первым элементом вашего синего обзора, а для второго пункта - красным..