Sobes.tech
Middle

Qual é a diferença entre 'left' e 'leading' no contexto do desenvolvimento iOS?

sobes.tech IA

Resposta da IA

No iOS Auto Layout, left e leading são âncoras diferentes para definir restrições, mas têm significados semânticos diferentes.

  • left é o lado fixo esquerdo da tela, sempre correspondendo ao lado físico esquerdo. Independentemente do idioma da interface, left sempre indica o lado esquerdo.

  • leading é o lado "principal", que depende da direção do texto (da interface). Para idiomas com direção da esquerda para a direita (LTR), como o inglês, leading coincide com left. Para idiomas com direção da direita para a esquerda (RTL), como árabe ou hebraico, leading corresponde ao lado direito.

O uso de leading e trailing é preferível para suportar localização e adaptar a interface a diferentes idiomas e direções de texto. Se usar left e right, a interface não se adaptará automaticamente ao RTL.

Exemplo:

// Restrição à âncora principal do superview (considera a direção do texto)
view.leadingAnchor.constraint(equalTo: superview.leadingAnchor).isActive = true

// Restrição ao lado esquerdo do superview (fixo à esquerda)
view.leftAnchor.constraint(equalTo: superview.leftAnchor).isActive = true

Se desejar que a interface funcione corretamente em RTL e LTR, é melhor usar leading e trailing. Se precisar de uma posição fixa independentemente do idioma, use left e right.