Je ne trouve pas de moyen de créer une contrainte "carrée", ce qui signifie "largeur égale hauteur" dans Interface Builder. Je suppose qu'il est possible d'ajouter une telle contrainte par programme. Puis-je faire quelque chose dans IB? Peut-être que je ne le vois pas? Cela semble banal, mais je ne le trouve pas.
Mise à jour Xcode 5.1b5
Ctrl + clic et faites glisser depuis une vue et relâchez-le pendant que le pointeur se trouve sur la vue. Sélectionnez "Ratio d'aspect". Cela créera une contrainte où le premier et le deuxième élément sont la vue.
Avant Xcode 5.1
Vous ne pouvez pas parce que l'éditeur largeur/hauteur n'a pas les champs pour associer une autre propriété ou définir le ratio:
Par conséquent, vous ne pouvez pas exprimer le code suivant dans 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];