J'ai travaillé avec des contraintes dans Swift pour iOS, et la plupart des conventions de dénomination / documentation rendent les choses assez explicites, mais une chose qui m'a récemment dérouté est deux paires de la classe NSLayoutXAxisAnchor:
leadingAnchor, leftAnchor
de même que
trailingAnchor, rightAnchor
Lorsque j'ai défini des contraintes par programmation dans mon application iOS, j'ai constaté que je pouvais les utiliser de manière totalement interchangeable. Si j'utilise LeadingAnchor, exécutez l'application et observez le comportement, puis utilisez leftAnchor, exécutez l'application et observez le comportement, il fonctionne exactement de la même manière.
J'ai vérifié la documentation de developer.apple.com, et les résultats sont même exactement les mêmes (en ignorant la différence de noms). Par exemple en comparant LeadingAnchor et leftAnchor:
"Utilisez cette ancre pour créer des contraintes avec le bord d'attaque de la vue. Vous ne pouvez combiner cette ancre qu'avec un sous-ensemble des ancres NSLayoutXAxisAnchor. Vous pouvez combiner une ancre principale avec une autre LeadingAnchor, une trailingAnchor ou une centerXAnchor. Pour plus d'informations, voir NSLayoutAnchor, classe Référence."
comparer aux:
"Utilisez cette ancre pour créer des contraintes avec le bord gauche de la vue. Vous ne pouvez combiner cette ancre qu'avec un sous-ensemble des ancres NSLayoutXAxisAnchor. Vous pouvez combiner une ancre leftAnchor avec une autre leftAnchor, une rightAnchor ou une centerXAnchor. Pour plus d'informations, voir NSLayoutAnchor, classe Référence."
Est-ce que quelqu'un sait s'il y a une différence voulue entre ces propriétés?