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;

  ...
}