stack-view 스택뷰 를 이해하기 위해 알고있어야 하는 개념들 compression Resistance (줄어들지 않으려고 버티는 힘) Content hugging (늘어나지 않으려고 버티는 힘) 스택뷰의 개념들 axis 가로(vertical), 세로(Horizontal) distribution 스택뷰 내부의 요소들을 어떻게 분배할것인지 설정할수 있다. alignment 위치에 대한 설정(정렬) spacing 사이의 간격 Stack-View Properties distribution: UIStackView.Distribution 스택뷰 내부의 요소들을 어떻게 분배할것인지 설정할수 있다. .fill 내부의 요소 뷰들을 최대한 늘릴것이다. 어떤애가 얼만큼 늘어날것인지 고민이 필요하다. .fillEqua..
Programmatically Creating Constraints 오토레이아웃의 조건 들을 코드로 작성해보자! 위의 조건들을 코드로 작성할수 있도록 해보자! 버튼은 safeArea 에서 좌우 20 포인트만큼 떨어져있다. 버튼의 y축은 superView에서 최소 20 만큼 떨어져있다.(우선도 높음) 버튼의 y축은 safeArea에서 0 만큼 떨어져있다.(우선도 중간) Layout Anchors(레이아웃 앵커) 가장 간단하고 안전한 방법중 하나이다. 코드가 간결해진다. 오류체크가 간편하다. class AnchorViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let button = UIButton() b..
AutoLayout AutoLayout 의 핵심 Constraint(제약) 이 AutoLayout 의 핵심이다. 뷰 들에게 왼쪽에서 어느정도 떨어져있으면 좋겠어 라는 식으로 제약을걸어 앱을 실행할 기기의 화면 크기와 상관없이 유동적인 화면을 제공할수 있도록 한다. AutoLayout Attributes 오토레이아웃의 제약은 하나의 수식으로 나타낼수 있다. 수식을 보자면 RedView.Leading = 1.0 x BlueView.trailing + 8.0 여기서 RedView 는 목적지이며 Leading 는 앞머리(왼쪽) 을 의미한다. RedView 는 BlueView 의 Trailing(오른쪽) 에서 8.0 포인트 떨어진곳에 위치한다. 라고 해석할수있다. Relationship 은 관계를 뜻함. (=) ..
Interface Builder 의 도구들 Update Frame 메뉴 잘못 만져서 view 의 위치가 바뀌었을 경우 클릭시 현재 view 가 조건에 걸려있는 위치,크기로 적용된다. Align 메뉴 엣지 들을 정렬 시켜줄수 있는 메뉴 view 여러개를 Top Edges Align 로 묶어주게되면 같은 위치의 높이로 정렬되게 된다.(위치 뿐만아니라 조건에 따라 크기도 결정할수 있음.)(여러개가 관계를 맺게 됨.) 핀(pin) 메뉴 view 간의 거리 혹은 사이즈를 정할수있는 메뉴 Aspect Ratio view 의 크기를 비율로 정해주고 싶을 경우 사용되는듯하다. reserve issue 메뉴 선택한 view와 모든 view 의 설정이 나뉘어져 있음. Add Missing Constraints 부족한 조건..