VesselWheel

Left Constraint 와 Leading Constraint 의 차이 본문

Xcode Study

Left Constraint 와 Leading Constraint 의 차이

JasonYang 2024. 1. 23. 09:25

Left Constraint는 어떤 객체의 왼쪽을 뜻하고, Leading Constraint는 어떤 객체의 앞쪽 가장자리를 뜻한다.

Left Constrint와 Right Constraint는 절대적이며 항상 화면 또는 컨트롤의 왼쪽 / 오른쪽을 참조한다. 

Leading Constraint와 Trailing Constraint는 device locale의 영향을 받는다. (장치별 국가 설정)

- 읽기 방향이 오른쪽에서 왼쪽인 locale(예: 히브리어, 아랍어)에서는 leading이 오른쪽이 되고 trailing이 왼쪽이 된다.


left constraintleading constraint는 Auto Layout에서 UI 요소의 위치를 정의할 때 사용하는 개념입니다.

두 가지 방식은 유사해 보일 수 있지만, 주요 차이점은 언어와 문화에 따른 텍스트 방향을 고려하는 방식에 있습니다.

  • Left Constraint: 이것은 말 그대로 요소를 부모 뷰의 왼쪽 가장자리에 기준을 두고 정렬하는 것입니다. 이는 무조건적으로 왼쪽을 기준으로 삼기 때문에, 어떠한 언어 설정이든간에 항상 왼쪽으로 정렬됩니다.
  • Leading Constraint: 이것은 '본문의 시작'을 기준으로 요소를 정렬합니다. 대부분의 언어는 왼쪽에서 오른쪽으로 텍스트가 진행되기 때문에, 이러한 경우 leadingleft는 동일하게 작동합니다. 그러나 아랍어나 히브리어와 같이 오른쪽에서 왼쪽으로 텍스트가 진행되는 언어를 사용하는 지역에서는 leading이 오른쪽 가장자리를 기준으로 합니다. 이로 인해 동일한 앱이 서로 다른 언어 설정에서 실행될 때, 사용자 인터페이스가 해당 언어의 읽기 방향에 맞게 자동으로 조정됩니다.

따라서, 국제화를 염두에 둔 앱 개발에서는 leadingtrailing 제약조건을 사용하는 것이 좋습니다. 이렇게 하면 다양한 언어와 문화에서 앱의 사용자 인터페이스가 올바르게 보이고, 사용자 경험이 일관되게 유지됩니다.

autoLayout Guide from apple

https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/AnatomyofaConstraint.html

 

Auto Layout Guide: Anatomy of a Constraint

 

developer.apple.com