이번엔 스토리보드가 아니라 코드로 오토레이아웃을 잡아보자
let myFirstView = UIView()
// 코드로 오토레이 아웃 잡을때 해줘야함
myFirstView.translatesAutoresizingMaskIntoConstraints = false
myFirstView.backgroundColor = .systemPink
// 기존뷰 하위에 서브뷰를 넣는 과정 그 서브뷰는 위에서 정의한 myFirstView
self.view.addSubview(myFirstView)
기존 ViewController의 View에 하위 View 로 들어간다.

// x축 y축 위치, 가로,세로
myFirstView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true
// 200만큼 띄우고 이 값을 활성화 한다.
myFirstView.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 200).isActive = true
myFirstView.widthAnchor.constraint(equalToConstant: 300).isActive = true
myFirstView.heightAnchor.constraint(equalToConstant: 300).isActive = true
}
}
나머지 앵커 잡기
스토리보드에서 했던걸 그대로 코드로 옮긴것이다.

이렇게 결과물을 볼때마다 빌드하는건 시간도 오래걸리고 번거롭다.
그래서 SwiftUI 로 전처리기를 만들어 미리보기를 만들 수 있다.
#if DEBUG
import SwiftUI
struct ViewControllerRepresentable : UIViewControllerRepresentable {
//update
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
}
// make ui
@available(iOS 13.0, *)
func makeUIViewController(context: Context) -> UIViewController {
ViewController()
}
}
struct ViewController_Previews: PreviewProvider {
static var previews: some View {
ViewControllerRepresentable()
}
}
#endif

이 처럼 따로 시뮬레이터에서 빌드를 하지 않아도 바로 코드가 반영되어 볼 수 있다
'iOS > AutoLayout' 카테고리의 다른 글
| iOS - Dynamic TableView Cell (0) | 2022.06.19 |
|---|---|
| iOS - Programmatically Animation (0) | 2022.06.09 |
| iOS-StackView (0) | 2022.06.02 |
| iOS-Constraint Priority (0) | 2022.05.30 |
| iOS - ScrollView (0) | 2022.05.29 |