lunchScreen/Interview_Questions

Left Constraint 와 Leading Constraint 의 차이점을 설명하시오.

Opened this issue · 5 comments

Left Constraint 와 Leading Constraint 의 차이점을 설명하시오.

Left는 단순히 왼쪽을, Leading은 글자가 시작하는 방향을 나타냅니다. 아랍어와 같이 글자를 오른쪽에서 왼쪽 순으로 쓰는 언어권에서는 Leading은 왼쪽이 아닌 오른쪽에 나타나게 됩니다.

글을 읽는 방향에 따라 사용자 경험이 달라지기 때문에 버튼과 같은 UI도 다르게 배치되어야 합니다. 따라서 Left/Right 보다 Leading/Trailing을 사용하게 되면 코드를 조금 더 유연하게 작성할 수 있습니다. 추가로 WWDC15 Mysteries of Auto Layout에 Left/Right 보다 Leading/Trailing을 사용하라는 내용이 포함되어 있습니다.

left와 right 는 절대적이며 뷰를 기준으로 각각 왼쪽과 오른쪽을 뜻합니다. leading 과 trailing 은 각각 글자가 시작하는 방향과 끝나는 방향으로 device locale 에 따라 leading 이 left 가 되기도 하고 right 가 되기도 합니다. 따라서 애플리케이션의 지역화를 지원해야하는 경우 leading과 trailing의 사용을 권장합니다.

Left는 왼쪽을 뜻하는 반면, Leading은 글자를 시작하는 방향을 뜻합니다. 이는 글자 읽는 방향이 다른 국가를 위한 것으로, 오른쪽부터 글자를 읽는 국가에서는 Leading이 오른쪽으로 처리됩니다. 따라서 이를 사용하면 특별한 조작없이 레이아웃을 국가에 맞춰서 설정해주기 때문에 Left보다 더 권장됩니다. 이러한 레이아웃 배치는 사용자경험에 매우 크게 작용하기 떄문에 중요합니다.

left는 화면 기준 왼쪽을 뜻하고 leading은 글자가 시작하는 방향을 의미합니다.
아랍어와 같은 글자는 오른쪽부터 왼쪽으로 읽기 때문에 leading이 오른쪽을 의미하게 됩니다.
따라서 LTR, RTL을 모두 지원하기 위해서 left, right보다 leading, trailing을 사용하는 것이 더 권장됩니다.

  • Left Constraint는 왼쪽을 뜻하고, Leading Constraint는 앞쪽 가장자리를 뜻한다.
  • Left Constrint와 Right Constraint는 항상 화면 또는 컨트롤의 왼쪽 / 오른쪽을 참조합니다. Leading Constraint와 Trailing Constraint는 device locale에 의해 결정됩니다.
  • 읽기 방향이 오른쪽에서 왼쪽인 locale(예: 히브리어, 아랍어)에서는 leading이 오른쪽이 되고 trailing이 왼쪽이 됩니다.