Автоматическая компоновка пропорционально масштабируемости
Я уже нашел несколько вопросов и ответов по этой теме, но я просто не могу заставить это работать для меня.
![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 умножитель с первым элементом вашего синего обзора, а для второго пункта - красным..