Xcode AutoLayout, Сделать маржу пропорциональной по высоте
У меня есть большое время выяснить, как сделать границу двух объектов пропорциональной. Если я выбираю соотношение сторон на Xcode, он дает мне возможность настроить высоту моего пропорционального размера экрана. и это не мое дело. Я хочу, чтобы граница между кнопкой и нижней частью экрана была пропорциональна высоте экрана. И я хочу, чтобы это было сделано с помощью Xcode "Нет кода". ![What I am seeking to do]()
Ваша поддержка высоко оценена.
Спасибо
Ответы
Ответ 1
Используйте свойство множителя NSLayoutConstraint!
Во-первых, установите равное ограничение высоты из вашего представления в его супервизор с помощью множителя, который вы хотите. Вы можете использовать Ctrl + перетаскивание из вашего представления в супервизор.
Затем установите другое ограничение в 0 из верхней части вашего представления в супервизор и с равным ограничением ширины с множителем до 1 из вашего представления в супервизор.
Готово!
Ответ 2
Я знаю, что вам не нужен код, но я думаю, что вам лучше использовать ограничение высоты. Добавьте ограничение для высоты для поля и CTRL перетащите его в свой файл заголовка, чтобы получить что-то вроде:
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *myMarginHeightConstraint;
Вам нужно свойство, которое содержит долю высоты экрана для поля:
@property CGFloat myHeightFraction;
Затем добавьте это в viewDidLoad.
- (void)viewDidLoad
{
[super viewDidLoad];
self.myHeightFraction = 0.1; // e.g to get margin at 10% of height
myMarginHeightConstraint.constant = myHeightFraction * [[UIScreen mainScreen] bounds].size.height;
...
}
Ответ 3
Добавить прозрачный вид и сделать его пропорциональным высоте. Привяжите кнопку "Готово" с помощью этого прозрачного представления. Здесь вы можете найти, как это сделать.