L'ajout de jrturton réponse, la meilleure information que j'ai trouvé pour comprendre la contrainte de descriptions, c'est le Format Visuel de la Langue de la documentation que vous avez besoin pour créer des contraintes dans le code. La langue est documenté comme une grammaire formelle ainsi, il peut prendre une minute pour absorber tout cela.
https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/VisualFormatLanguage/VisualFormatLanguage.html#//apple_ref/doc/uid/TP40010853-CH3-SW1
Vous donner un exemple:
<NSLayoutConstraint:0x10ada8a70 H:|-(44)-[UIButton:0x10ac5dc30] (Names: '|':UIView:0x10ac60470)>
C'est une Orientation Horizontale contrainte (H:)
Le lien est de 44 pixels à partir d'un superview (|) à la une UIButton
Le nommé superview est une UIView (les Noms: '|':UIView:) - important de savoir parce que vous n'avez pas besoin d'être freinée par l'immédiat superview
Les valeurs hexadécimales sont toutes les adresses valides de vos éléments d'INTERFACE utilisateur. Quand vous point d'arrêt sur toutes les exceptions et pause sur le conflit de contraintes, vous pouvez utiliser l'adresse postale de voir l'objet de la contrainte. Dans mon cas:
(lldb) po 0x10ac5dc30
<UIButton: 0x10ac5dc30; frame = (44 199; 30 30); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x10ac5ddf0>>
(lldb) po 0x10ac60470
<UIView: 0x10ac60470; frame = (0 64; 320 504); autoresize = RM+BM; animations = { position=<CABasicAnimation: 0x10ac5ec70>; bounds=<CABasicAnimation: 0x10ac62250>; }; layer = <CALayer: 0x10ac60530>>