Tenho trabalhado com restrições no Swift para iOS e a maioria das convenções / documentação de nomenclatura tornam as coisas bastante autoexplicativas, mas uma coisa que me confundiu recentemente são dois pares da classe NSLayoutXAxisAnchor:
leadingAnchor, leftAnchor
junto com
trailingAnchor, rightAnchor
Depois de definir restrições de maneira programática em meu aplicativo iOS, descobri que posso usá-las de forma totalmente intercambiável. Se eu usar o leadAnchor, executar o aplicativo e observar o comportamento e, em seguida, usar leftAnchor, executar o aplicativo e observar o comportamento, ele funcionará exatamente da mesma forma.
Verifiquei a documentação em developer.apple.com e os resultados são exatamente os mesmos (ignorando a diferença de nomes). Por exemplo, comparando o leadAnchor e o leftAnchor:
"Use esta âncora para criar restrições com a borda de ataque da visualização. Você só pode combinar esta âncora com um subconjunto das âncoras NSLayoutXAxisAnchor. Você pode combinar uma âncora principal com outra âncora principal, uma âncora final ou uma âncora central. Para obter mais informações, consulte Classe NSLayoutAnchor Referência."
comparado a:
"Use esta âncora para criar restrições com a borda esquerda da visualização. Você só pode combinar esta âncora com um subconjunto das âncoras NSLayoutXAxisAnchor. Você pode combinar um leftAnchor com outro leftAnchor, um rightAnchor ou um centerXAnchor. Para obter mais informações, consulte Classe NSLayoutAnchor Referência."
Alguém sabe se existe alguma diferença pretendida entre essas propriedades?