Ограничение ширины равно высоте в интерфейсе Builder

Я не могу найти способ создать ограничение "квадрат", что означает "width equals height" в Interface Builder. Я предполагаю, что можно добавить такое ограничение программно. Есть ли что-то, что я могу сделать в IB? Может быть, я просто этого не вижу? Это кажется тривиальным, но я не могу его найти.

Ответ 1

Обновить Xcode 5.1b5

width equals height

Ctrl + щелчок и перетаскивание из представления и освобождение, пока указатель находится над представлением. Выберите "Соотношение сторон". Он создаст ограничение, в котором первый и второй элементы будут отображаться.


До Xcode 5.1

Вы не можете, потому что в редакторе ширины/высоты отсутствуют поля для связи с другим свойством или установите соотношение:

width constraint

Поэтому вы не можете выразить следующий код в Interface Builder:

CGFloat ratio = 1.0;
NSLayoutConstraint *constraint = [NSLayoutConstraint
    constraintWithItem:myView
    attribute:NSLayoutAttributeWidth
    relatedBy:NSLayoutRelationEqual
    toItem:myView
    attribute:NSLayoutAttributeHeight
    multiplier:ratio
    constant:0];
constraint.priority = 1000;
[myView.superview addConstraint:constraint];