Programmatically Creating Constraints 코드로 오토레이아웃 만드는 방법엔 3가지가 있습니다. 스토리보드로 뷰 등을 만들고 제약을 코드로 지정할 때 translatesAutoresizingMaskIntoConstraints = false 를 꼭 해야합니다. Layout Anchors // Get the superview's layout let margins = view.layoutMarginsGuide // Pin the leading edge of myView to the margin's leading edge myView.leadingAnchor.constraint(equalTo: margins.leadingAnchor).isActive = true // Pin the tr..
Working with Constraints in Interface Builder 오토 레이아웃 제약을 인터페이스 빌더에서 설정하는 세가지 옵션 1. 컨트롤 드래그 2. Pin과 Align 툴 3. 인터페이스 빌더가 설정 Control-Dragging Constraints 두 뷰 사이에 제약을 만들려면 컨트롤 클릭해서 다른 뷰로 드래그합니다. 드래그해서 놓으면 다음과 같은 메뉴가 나옵니다. 캔버스 내의 아이템에서 할 수 있고, scene의 도큐먼트 아웃라인에서도 설정 가능합니다. 인터페이스 빌더는 현재 뷰의 프레임을 기준으로 제약을 만듭니다. 그렇기 때문에 뷰의 위치를 정확하게 잡고 제약을 설정해야합니다. 필요하다면 제약을 나중에 수정할 수 있습니다. Using the Stack, Align, Pin a..
Auto Layout 오토 레이아웃은 동적으로 뷰의 사이즈와 위치를 뷰 계층구조에 맞게 조절합니다. 오토 레이아웃은 보통 제약들을 이용해서 정합니다. 제약은 일반적으로 두 뷰사이의 관계를 나타냅니다. 오토 레이아웃은 사이즈와 위치를 각각의 뷰를 기반으로 계산합니다. 오토 레이아웃은 내 외부의 변화에 대응할 수 있습니다. (앱을 돌리거나 기기마다 다른 화면 크기 등에 대응 예를 들어 바깥 뷰로부터 위, 왼쪽, 오른쪽에서 각각 20씩 거리를 두고 a의 높이를 가진 뷰를 만들수 있습니다. Auto Layout Without Constraints 스택뷰를 사용하면 제약을 설정하지 않고 오토레이아웃을 만들 수 있습니다. 스택뷰는 수평방향이나 수직방향으로 구성요소들을 배치하는데 스택뷰의 설정에 따라 자동으로 정렬할..
Storyboard에서 사용하는 모든 Objects Label 임의의 텍스트 표시 Button 어떤 액션을 할 수 있는 버튼 Segmented Control 하나 이상의 선택지 제공 Text Field 사용자가 텍스트 입력 가능 Slider 음악 재생 바 혹은 화면 밝기 조정 같은 컨트롤 Switch On/Off True/False 등 배타적인 값 Activity Indicator View 어떤 작업이 진행 중임을 나타내주는 로딩 표시 Progress View 작업 진행 상황을 바 형식으로 보여줌 Page Control 여러개의 광고 뷰처럼 화면 여러개 있을 때 사용 Stepper 계수기 처럼 카운트 Horizontal Stack View 수평 방향으로 여러개의 뷰를 관리 Vertical Stack Vi..