programing

좌측 앵커와 선행 앵커의 차이점은 무엇입니까?

bestprogram 2023. 7. 16. 13:43

좌측 앵커와 선행 앵커의 차이점은 무엇입니까?

저는 iOS용 Swift에서 제약 조건을 가지고 작업을 해왔고, 대부분의 명명 규칙/문서는 상황을 꽤 자명하게 하지만, 최근 저를 혼란스럽게 하는 한 가지는 NS 레이아웃 X의 두 쌍입니다.AxisAnchor 클래스:

leadingAnchor, leftAnchor

와 함께

trailingAnchor, rightAnchor

iOS 앱에서 프로그래밍 방식으로 제약 조건을 설정했을 때, 저는 이것들을 완전히 상호 교환적으로 사용할 수 있다는 것을 알게 되었습니다.제가 leadingAnchor를 사용하고, 앱을 실행하고, 동작을 관찰한 다음, leftAnchor를 사용하고, 앱을 실행하고 동작을 관찰하면 정확히 동일하게 작동합니다.

제가 developer.apple.com 에서 문서를 확인해보니 (이름의 차이는 있지만) 결과는 똑같습니다.예를 들어 선행 앵커와 좌측 앵커를 비교합니다.

"이 앵커를 사용하여 뷰의 맨 앞 가장자리로 구속조건을 작성합니다.이 앵커는 NS 레이아웃 X의 하위 집합과만 결합할 수 있습니다.Axis Anchor 앵커.선행 앵커를 다른 선행 앵커, 후행 앵커 또는 중심 X 앵커와 결합할 수 있습니다.자세한 내용은 NS Layout Anchor Class Reference를 참조하십시오."

비교:

"이 앵커를 사용하여 뷰의 왼쪽 가장자리로 구속조건을 작성합니다.이 앵커는 NS 레이아웃 X의 하위 집합과만 결합할 수 있습니다.Axis Anchor 앵커.왼쪽 앵커를 다른 왼쪽 앵커, 오른쪽 앵커 또는 중앙 X 앵커와 결합할 수 있습니다.자세한 내용은 NS Layout Anchor Class Reference를 참조하십시오."

이 속성들 사이에 의도된 차이가 있는지 아는 사람이 있습니까?

이것은 자동 레이아웃의 미스터리에 대한 WWDC 2015 비디오 중 하나에서 (간단히) 다루었습니다(1부였다고 생각하지만 둘 다 볼 가치가 있습니다).

왼쪽 및 오른쪽 제약 조건은 절대적이며, 항상 화면 또는 컨트롤의 왼쪽/오른쪽을 가리킵니다.선행 및 후행 제약 조건은 장치 로케일의 영향을 받습니다. 읽기 방향이 왼쪽에서 오른쪽(영어, 프랑스어, 스페인어 등)인 로케일에서는 선행 및 후행 & 우(및 후행 & 우)를 서로 바꾸어 사용할 수 있습니다.판독 방향이 오른쪽에서 왼쪽(예: 히브리어, 아랍어)인 지역에서는 'leading'이 오른쪽이 되고 'trailing'이 왼쪽이 됩니다.

비디오의 조언은 절대적인 왼쪽/오른쪽에 대한 특별한 요구 사항이 없는 한 거의 항상 왼쪽/오른쪽이 아닌 선행/트레일링을 사용해야 한다는 것입니다.

레이블과 텍스트 필드의 일반적인 '형태'를 고려합니다.선행/추적 제약 조건을 사용하는 경우 영어 로케일의 경우 왼쪽에 레이블이 있고 오른쪽에 텍스트 필드가 있으며 히브리어 로케일의 경우 왼쪽에 텍스트 필드가 있습니다.

오른쪽에서 왼쪽으로 가르치고 항상 화면 왼쪽의 '왼쪽' 버튼을 원했다면 왼쪽/오른쪽 제약 조건이 적절합니다.

언급URL : https://stackoverflow.com/questions/32981532/difference-between-leftanchor-and-leadinganchor