Difference between leftAnchor and leadingAnchor? Difference between leftAnchor and leadingAnchor? ios ios

Difference between leftAnchor and leadingAnchor?


This was covered (briefly) in one of the WWDC 2015 videos on the Mysteries of Autolayout (I think it was part 1 but both are worth watching).

Left and Right constraints are absolute, they will always refer to the left/right of the screen or the control. Leading and trailing constraints are affected by the device locale; In locales where the reading direction is left to right (English, French, Spanish and so on) leading & left (and trailing & right) can be used interchangeably. In locales where the reading direction is right to left (e.g Hebrew, Arabic) then 'leading' will be the right side and 'trailing' will be the left side.

The advice in the video was you should almost always use leading/trailing rather than left/right unless you have a specific requirement for absolute left/right.

Consider the typical 'form' of a label and a text field. If you use leading/trailing constraints then you will get the label on the left and text field on the right for an English locale and label on the right, text field on the left for a Hebrew locale.

If you made a children's app where you were teaching left from right and you always wanted the 'left' button on the left of the screen then left/right constraints would be appropriate