Swift version: 5.10
If you wanted to pin a button to the left edge of its parent, you might write code like this:
button.leftAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leftAnchor).isActive = true
However, that has a problem: in right-to-left languages, the user interface ought to be flipped horizontally for the most part, but your button won’t move – you’ve specifically asked it to be pinned to the left edge regardless of the user’s device settings.
If that’s what you want, you don’t have a problem. However, if you meant “left edge for left-to-right languages and right edge for right-to-left languages,” then you should use leadingAnchor
instead of leftAnchor
, like this:
button.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
For the same effect on the opposite edge, you should use trailingAnchor
rather than rightAnchor
. Again, if you specifically want something to appear on the right regardless of language then this does not apply.
SPONSORED Get accurate app localizations in minutes using AI. Choose your languages & receive translations for 40+ markets!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.