반응형

[최종 수정일 : 2017.11.20]

원문 : https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/AutoLayoutWithoutConstraints.html#//apple_ref/doc/uid/TP40010853-CH8-SW1

제약조건 없는 오토 레이아웃(Auto Layout Without Constraints)

스택 뷰(Stack Views)는 복잡한 제약조건을 사용하지 않고 오토 레이아웃(Auto Layout)의 기능을 손쉽게 활용할 수 있습니다. 단일 스택 뷰(stack view)는 사용자 인터페이스 요소의 행(row) 또는 열(column)을 정의합니다. 스택 뷰(stack view)는 속성(properties)에 따라 이러한 요소들을 정렬합니다.

스택 뷰를 사용하려면, 인터페이스 빌더(Interface Builder)에서 캔버스(canvas)로 수직(vertical) 또는 수평(horizontal) 스택 뷰를 드래그 합니다.

객체가 원래의 콘텐츠 크기를 가지는 경우, 그 크기는 스택 안에서 나타납니다. 원래의 콘텐츠 크기가 없는 경우에, 인터페이스 빌더(Interface Builder)는 기본 크기를 제공합니다. 여러분은 객체 크기를 조정할 수 있고, 인터페이스 빌더(Interface Builder)는 크기를 유지하기 위해 제약 조건을 추가합니다.

레이아웃을 더욱 미세하게 조정(fine-tune)하려면, Attributes inspector를 사용해서 스택 뷰의 속성을 수정할 수 있습니다. 예를 들어, 다음에 오는 예제는 8 포인트 간격과 균등한 채우기를 사용하였습니다.


스택 뷰는 배치된 뷰의 content-hugging과 compression-resistance 우선순위에 대한 레이아웃을 기반으로 합니다. 여러분은 Size inspector를 사용해서 수정할 수 있습니다.

노트 
뷰를 정렬하기 위해 제약사항을 직접 추가하여 레이아웃을 추가로 수정할 수 있습니다: 하지만, 가능한한 충돌을 피하길 원합니다: 짐작으로는(As a general rule of thumb), 뷰의 크기가 주어진 크기(dimension)에 대해 원래 컨텐츠 크기로 돌아가는 경우에, 그 크기(dimension)에 대한 제약조건을 안전하게 추가 할 수 있습니다. 제약조건 충돌(conflicting constraints)에 대한 자세한 정보는, 불만족스러운 레이아웃(Unsatisfiable Layouts)을 보세요.

또한, 여러분은 보다 복잡한 레이아웃을 만들기 위해 다른 스택 뷰 안쪽에 스택 뷰를 중첩시킬수 있습니다.


일반적으로, 스택 뷰를 사용하여 최대한 많은 레이아웃을 관리합니다. 스택 뷰만으로 목표 달성할 수 없는 경우에만 제약조건을 생성에 의지합니다.

스택 뷰 사용에 대한 자세한 내용은, UIStackView Class Reference 또는 NSStackView Class Reference를 보세요.

노트
중첩된 스택 뷰를 사용하면 복잡한 사용자 인터페이스가 될수 있지만, 여러분은 제약조건에 대해서 완전히 벗어날 수 없습니다. 최소한, 언제나 가장 바깥쪽 스택 위치(와 크기)의 제약조건이 필요합니다.


반응형

'iOS > Autolayout' 카테고리의 다른 글

오토 레이아웃 이해하기(Understanding Auto Layout)  (0) 2018.05.09
Posted by 까칠코더
,