이전 포스트에서는 스냅킷을 사용하는 것에 대한 이점에 대해 알아보았다. 이번에는 이런 스냅킷을 사용해서 화면을 다양하게 분리하고 위치해보는 예제를 다루겠다. 다양한 화면 분할을 연습해보기 위해 화면의 상단에 높이 200 만큼의 뷰를 하나 넣고, 그 아래에 세 개의 뷰를 나란히 배치해보겠다. 다음으로 가장 아래에 남아 있는 모든 공간을 좌우로 정확히 나누고, 또 우측에 두 개의 뷰를 위아래로 배치해보겠다. 먼저 총 7개의 하위 뷰가 필요하기 때문에 아래와 같이 다양한 색깔의 뷰를 생성한다. lazy var pinkView = { let view = UIView() view.backgroundColor = .systemPink return view }() lazy var redView = { let view..
Swift/SnapKit
앞선 포스트에서 언급했듯이 스냅킷은 불편한 코드베이스의 오토레이아웃을 클로저 형태로 간편하게 설정하도록 도와주는 라이브러리이다. 먼저 두개의 label을 생성해준다. let labelA = { let label = UILabel() label.text = "오토레이아웃으로 구현" label.backgroundColor = .orange label.textAlignment = .center return label }() let labelB = { let label = UILabel() label.text = "스냅킷으로 구현" label.backgroundColor = .systemPink label.textAlignment = .center return label }() 첫번째 label을 코드베이스의 ..
iOS 개발을 하게 되면 화면에 보여지게 되는 요소를 표현하기 위해 다양한 UI 처리를 해야 한다. 화면 내 원하는 위치에 특정 뷰를 위치 시키는 방법은 여러 가지가 있다. frame 또는 bounds 코드베이스 AutoLayout 스토리보드를 활용한 AutoLayout SwiftUI SnapKit FelxLayout + PinLayout 기타 다양한 UI 라이브러리 먼저, SwiftUI에 관한 내용은 오늘 다룰 내용과 너무 멀기 때문에 제외하겠다. SwiftUI에 관한 내용은 별도의 포스트에서 따로 다룰 예정이다. 남은 방법 중에서 실제 개발 시에 frame과 bounds 만을 사용해서 개발하는 경우는 거의 없을 것이다. 그 이유는 다양한 사이즈의 디바이스 화면을 대응하는 것에 불리하기 때문이다. 간단..