¿Diferencia entre leftAnchor y leadingAnchor?

He estado trabajando con restricciones en Swift para iOS, y la mayoría de las convenciones / documentation de nombres hacen que las cosas sean bastante explicativas, pero una cosa que recientemente me ha confundido son dos pares de la class NSLayoutXAxisAnchor:

leadingAnchor, leftAnchor 

junto con

 trailingAnchor, rightAnchor 

Cuando he establecido restricciones programáticamente en mi aplicación de iOS, he descubierto que puedo usarlas de forma totalmente intercambiable. Si uso LeadAnchor, ejecute la aplicación y observe el comportamiento, y luego use leftAnchor, ejecute la aplicación y observe el comportamiento, funciona exactamente igual.

Revisé la documentation de developer.apple.com, y los resultados son exactamente iguales (ignorando la diferencia de nombres). Por ejemplo, comparando el Ancho principal y Ancho izquierdo:

"Utilice este ancla para crear restricciones con el borde de avance de la vista. Solo puede combinar este anclaje con un subset de los anclajes NSLayoutXAxisAnchor. Puede combinar un anclaje principal con otro Anclaje principal, un Anclaje final o un Anclaje central. Para get más información, vea NSLayoutAnchor Class Referencia."

comparar con:

"Utilice este ancla para crear restricciones con el borde izquierdo de la vista. Solo puede combinar este ancla con un subset de los anclajes NSLayoutXAxisAnchor. Puede combinar un Ancho izquierdo con otro Ancho izquierdo, Ancho derecho o Ancho central. Para get más información, vea NSLayoutAnchor Class Referencia."

¿Alguien sabe si hay alguna diferencia prevista entre estas properties?

Esto fue cubierto (brevemente) en uno de los videos de la WWDC 2015 en los Mysteries of Autolayout (creo que fue parte 1, pero ambos son dignos de ver).

Las restricciones izquierda y derecha son absolutas, siempre se refieren a la izquierda / derecha de la pantalla o al control. Las restricciones principales y finales se ven afectadas por la configuration regional del dispositivo; En locales donde la dirección de lectura es de izquierda a derecha (inglés, francés, español, etc.), el encabezado y el izquierdo (y el final y el derecho) pueden usarse indistintamente. En los lugares donde la dirección de lectura es de derecha a izquierda (por ejemplo, hebreo), entonces "líder" será el lado derecho y "posterior" será el lado izquierdo.

El consejo en el video es que casi siempre debes utilizar el avance / seguimiento en lugar de izquierda / derecha, a less que tengas un requisito específico de izquierda / derecha absoluta.

Considere la "forma" típica de una label y un campo de text. Si utiliza restricciones de avance / finalización, obtendrá la label en el campo izquierdo y el campo de text a la derecha para una configuration regional en inglés y la label en el campo de text a la izquierda para una configuration regional hebrea.

Si hizo una aplicación para niños donde enseñaba de izquierda a derecha y siempre quiso el button 'izquierdo' a la izquierda de la pantalla, entonces las restricciones izquierda / derecha serían apropiadas