IOS Autolayout: две кнопки одинаковой ширины, бок о бок
В настоящее время я испытываю трудности с AutoLayout. Я использую конструктор интерфейса и пытаюсь расположить две кнопки равной ширины бок о бок, как показано на следующем рисунке.
![objective layout]()
Из следующего изображения предварительного просмотра мое свойство titleImage было правильно ограничено и отображается правильно, однако кнопки не являются. Я экспериментировал, выровняв кнопку 1 с передним краем titleImage и button2 с задней границей titleImage, однако распределение ширины между двумя кнопками становится искаженным в этой точке, как показано ниже.
![problem scenario]()
Моя цель - понять, какие ограничения отсутствуют, и должна применяться к двум кнопкам, чтобы поддерживать равную ширину независимо от устройства. Если возможно, я хотел бы достичь этого через построитель интерфейса, а не дополнительный код.
Ответы
Ответ 1
Добавьте следующие ограничения
- Назначьте равную ширину с кнопки 1 на кнопку 2.
- Назначьте горизонтальное расстояние между обеими кнопками.
- Назначьте ведущее пространство от кнопки1 до его супервизора.
- Назначить конечное пространство из кнопки2 в его супервизор.
- Назначьте верхнее пространство для обеих кнопок.
Дайте мне знать, если это сработает для вас.
Ответ 2
Выполняйте шаги и скриншоты для упрощенного решения
Шаг-1)
- Для кнопки 1: установить ограничения: (1) ведущий, (2) верхний или нижний шаг вперед, (3) высота
![]()
Шаг-2)
- Для кнопки 2: установить ограничения: (1) трейлинг, (2) верх или низ вперед по вашему желанию, (3) высота
![]()
Шаг 3)
- Нажмите и отпустите с кнопки 1 на кнопку 2
![]()
- Выбор горизонтального интервала
![]()
Шаг 4)
- Выберите обе кнопки и добавьте ограничение ширины.
![]()
OUTPUT
![]()
Надеюсь, что это поможет вам:)
Ответ 3
Структура стека в iOS9, сделает работу действительно приятной.
Добавьте представление стека к вашему виду и настройте следующим образом:
![введите описание изображения здесь]()
Ответ 4
Вы можете проверить мой пример - вы можете легко направить это, используя пропорциональное ограничение.
Также вы можете легко нацелить пропорциональные множественные UIViews.
Посмотрите прилагаемый пример
https://dl.dropboxusercontent.com/u/48223929/TestViewController.xib
Ответ 5
Мое решение -
- Поместите небольшой снимок в середину двух кнопок и сделайте его центром (горизонтальный центр в контейнере и вертикальный центр в ролике как 0).
- Добавьте высоту и ширину в малый вид.
- Добавьте кнопки к ограничениям и дайте горизонтальные ограничения пространства для небольшого вида.
- Дайте цвет фона небольшого размера таким же, как кнопки или цвет представления.
Примечание: См. снимок экрана.
![введите описание изображения здесь]()