Différence entre leftAnchor et leadingAnchor?
J'ai travaillé avec des contraintes de Swift pour iOS, et la plupart des conventions de nommage/documentation de faire les choses tout à fait explicites, mais une chose qui a récemment confondu moi est de deux paires de la NSLayoutXAxisAnchor classe:
leadingAnchor, leftAnchor
avec
trailingAnchor, rightAnchor
Quand j'ai mis les contraintes de programme dans mon application iOS, j'ai trouvé que je peux utiliser ces totalement de façon interchangeable. Si j'utilise leadingAnchor, exécutez l'application et d'observer le comportement, et ensuite utiliser leftAnchor, exécutez l'application et d'observer le comportement, il fonctionne exactement de la même.
J'ai vérifié la documentation de developer.apple.com et les résultats sont même exactement le même (sans tenir compte de la différence dans les noms). Par exemple en comparant les leadingAnchor et leftAnchor:
"Utiliser ce point d'ancrage à créer des contraintes avec la vue du bord d'attaque.
Vous ne pouvez combiner cette ancre avec un sous-ensemble de la
NSLayoutXAxisAnchor ancres. Vous pouvez combiner un leadingAnchor avec
un autre leadingAnchor, un trailingAnchor, ou un centerXAnchor. Pour plus d'
d'informations, voir NSLayoutAnchor de Référence de Classe."
de comparer:
"Utiliser ce point d'ancrage à créer des contraintes avec la vue du bord gauche. Vous
ne pouvez combiner cette ancre avec un sous-ensemble de la NSLayoutXAxisAnchor
les ancres. Vous pouvez combiner un leftAnchor avec un autre leftAnchor, un
rightAnchor, ou un centerXAnchor. Pour plus d'informations, voir
NSLayoutAnchor De Référence De Classe."
Personne ne sait si il y a une différence entre ces propriétés?
Vous devez vous connecter pour publier un commentaire.
C'était couverte (brièvement) dans un de la WWDC 2015 des vidéos sur le Mystères de la mise en page automatique (je pense que c'était de la partie 1, mais les deux sont la peine de regarder).
À gauche et à Droite, les contraintes sont absolus, ils seront toujours vous référer à gauche/à droite de l'écran ou le contrôle. Attaque et de fuite des contraintes sont affectées par le dispositif locale, Dans des lieux où le sens de lecture est de gauche à droite (anglais, français, espagnol et ainsi de suite), conduisant & gauche (et de fuite & droite) peuvent être utilisés de façon interchangeable. Dans des lieux où le sens de lecture est de droite à gauche (e.g l'hébreu, l'arabe), puis "à la pointe" sera le côté droit et "fuite" sera le côté gauche.
Les conseils dans la vidéo, vous devriez presque toujours utiliser avant/après plutôt qu'à gauche/à droite sauf si vous avez une exigence absolue pour la gauche/droite.
Envisager la typique forme d'une étiquette et un champ de texte. Si vous utilisez avant/après de contraintes, alors vous obtiendrez l'étiquette sur la gauche et un champ de texte sur la droite pour un de paramètres régionaux anglais et l'étiquette sur la droite, un champ de texte sur la gauche locale hébraïque.
Si vous avez fait des enfants, une application qui vous ont été l'enseignement de gauche, de droite et vous toujours voulait que la "gauche" bouton sur la gauche de l'écran puis gauche/droite contraintes serait approprié