Je ne l'ai jamais vraiment utilisé. Mais je pense que cela permet d'être plus puissant que des "tags", on peut très bien ne pas mettre d'IBOutlet et énumérer les contraintes d'une vue, ou lorsqu'on les créées par code. Après, ils sont peut-être mêmes printés quand tu fais [maContraint description] (ce qui serait très utile quand les contraints pètent et que XCode t'envoie un gros pâté pas toujours facile à lire).
Dans le Panel en bas de Multiplier, il y a un champ identifier.$
Ah oui effectivement, je n'y pensais plus. Faut dire que j'ai écrit ce toto le lendemain de jour où j'ai compris comment utiliser Storyboard (oui, j'ai le cerveau lent sur certaines choses).
Comme le dit Larme, cela permet d'associer un nom à une contrainte pour la retrouver facilement. On peut tracer une outlet avec Storyboard pour agir sur une contrainte par code, ou utiliser le nom pour la localiser. Enfin en théorie .. en pratique j'ai essayé une fois, sans y parvenir.
J'avais défini deux contraintes de centrage avec Storyboard. Elles devraient être stockées dans le tableau constraints. Pourtant il est vide à l'exécution !!! Il faudrait que je refasse le test en créant les contraintes par code.
Réponses
excuse moi,
Oui cela est bon, je te remercie beaucoup de ton aide
Ouah Draken chapeau pour ces explications !
Johanna je ne connaissais pas ta solution magique, très intéressant !
Merci à vous deux !
Vraiment bien merci beaucoup...
L'identifier on en fait quoi je suppose que c'est pour le retrouver dans le code au cas ou ?
Euh .. je n'ai pas parlé d'un identifiant, moi. De quoi veux-tu parler ?
@Draken :
Dans le Panel en bas de Multiplier, il y a un champ identifier.$
@Gercofis :
Je ne l'ai jamais vraiment utilisé. Mais je pense que cela permet d'être plus puissant que des "tags", on peut très bien ne pas mettre d'IBOutlet et énumérer les contraintes d'une vue, ou lorsqu'on les créées par code. Après, ils sont peut-être mêmes printés quand tu fais [maContraint description] (ce qui serait très utile quand les contraints pètent et que XCode t'envoie un gros pâté pas toujours facile à lire).
Ah oui effectivement, je n'y pensais plus. Faut dire que j'ai écrit ce toto le lendemain de jour où j'ai compris comment utiliser Storyboard (oui, j'ai le cerveau lent sur certaines choses).
Comme le dit Larme, cela permet d'associer un nom à une contrainte pour la retrouver facilement. On peut tracer une outlet avec Storyboard pour agir sur une contrainte par code, ou utiliser le nom pour la localiser. Enfin en théorie .. en pratique j'ai essayé une fois, sans y parvenir.
J'avais défini deux contraintes de centrage avec Storyboard. Elles devraient être stockées dans le tableau constraints. Pourtant il est vide à l'exécution !!! Il faudrait que je refasse le test en créant les contraintes par code.
Je confirme donc :
J'ai
testView a comme contraintes : Fixed Width (avec identifier WidthConstraint), Fixed Height (avec identifier HeightConstraint), Fixed Ratio (avec identifier ConstraintForRatio).
Donc si je modifie la Width, cela devrait casser.
Dans mon viewDidLoad:
Mon Debugger me sort :
L'identifier est bien "rajouté" à -[NSLayoutConstraint description].
Pratique pour débugger, parce que les po 0xObjectAddress (pour les View) et les Symbolic Exception BreakPoint constraint.
En tout cas, grand merci @Gercofis qui m'a fait découvrir ce p'tit truc.
C'est pratique, effectivement !
</p>