[UIView] AutoLayout설정 시 leading, left 차이

임혜정·2024년 9월 20일
0
post-custom-banner

둘 다 대상의 슈퍼뷰로부터 왼쪽 거리를 설정하는데 쓰이고 비슷해보이지만 다르다.

방향성

left는 '언제나' 화면의 왼쪽을 가리키지만 leading은 텍스트의 시작 부분을 가리킨다.
마찬가지도 right는 항상 오른쪽, trailing은 해당 국가의 텍스트를 읽는 방향 시작 부분을 가리킨다.

다양한 나라에 대응

대부분의 나라에서는 Left To Right(LTR)로 왼쪽에서 오른쪽으로 글자를 읽어나가지만 아랍어,히브리어 등은 Right To Left(RTL)로 오른쪽에서 왼쪽으로 읽는다.

만일 어떤 레이블을 left를 사용하여 슈퍼뷰로부터 왼쪽 거리를 10만큼 떨어지게 설정했다면 아랍권에서건 어디서건 항상 왼쪽에서 10만큼 떨어진 거리로 보여지게 되지만 leading을 사용한다면 오른쪽으로부터 10만큼 떨어지게된다.

그럼 텍스트도 반전되나?

아랍권에서는 반대로 읽는다면 "hello"라는 레이블이 "olleh"로 반전되어 지는 것인가 궁금했지만 그렇진않다.

반전되는 ui요소의 범위는?


되지 않는 요소를 아는게 더 빠르겠다. '이미지와 시계방향으로 동작하는 요소'는 자동반전이 되지 않는다.

되는 요소들은
1. text 정렬과 방향
2. UITextField의 커서 위치
3. 테이블 뷰와 컬렉션 뷰의 스크롤 방향
4. 네비게이션 바의 백 버튼 위치
5. 세그먼트 컨트롤의 아이템 순서
6. 슬라이더의 방향
...기타 등

사용권장

apple은 국제화를 위해 left/right보다 leading/trailing을 사용하도록 권장한다. 만일 반전되지 말아야할 특별한 이유가 있지 않다면 권장사항을 지키는 것이 좋을 것이다.

[공식문서에서의 언급](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html)

profile
오늘 배운걸 까먹었을 미래의 나에게..⭐️
post-custom-banner

0개의 댓글