#swift #autolayout #uistackview #aspect-ratio
#swift #автоматическое описание #uistackview #соотношение сторон
Вопрос:
У меня есть контроллер представления с шестью кнопками. Я хочу показать их в 3 строках и 2 столбцах. Я решил поместить каждый столбец кнопок (3 кнопки) в представление стека и поместить 2 вида вертикального стека в 1 вид горизонтального стека.
Я хочу, чтобы мои кнопки выглядели квадратными.
Я применил следующие ограничения для горизонтального (основного) представления стека:
- Выровнять центр X по безопасной области
- Выровнять центр Y по безопасной области
- Выравнивание, ведущее к безопасной области, равно: 50
- Ширина аспекта: высота аспекта = 2: 3
По какой-то причине соотношение сторон не работает, а ширина по-прежнему больше высоты, и, что более важно, кнопки не имеют квадратной формы.
Я попытался обновить фреймы, чтобы применить все возможные свойства выравнивания и распределения, однако это не решило проблему. Пожалуйста, проверьте изображения ниже для справки.
Заранее спасибо!
Комментарии:
1. Пожалуйста, предоставьте изображение макета, который вы действительно хотите. 6 квадратных кнопок? Где находится? Центр основного представления? Зачем нужна автозапись? Что меняется на большом или меньшем экране? Просто нарисуйте то, что вы хотите. Спасибо.
2. на вкладке инспектора атрибутов представления стека у нас есть опция (Распределение). вы можете установить это как заполнение одинаково и определить другие ограничения, такие как соотношение сторон (1: 1) для каждой кнопки, чтобы иметь возможность получить желаемый дизайн.
3. Дорогой Хамид, спасибо. Ваш совет с соотношением сторон для каждой кнопки решил проблему!
4. Дорогой Мэтт, спасибо за ваш комментарий, Хамид уже предоставил решение.