오늘은 레이아웃 사이클과 드로잉 사이클에 대해서 알아보도록 하겠다.
먼저 iOS의 레이아웃은 디바이스별로 다양한 해상도와 사이즈가 다르기 때문에 레이아웃을 조정하는 것이 중요하다.
레이아웃의 사이클은 3단계이다.
1. 제약 조건(Constraints)
- 오토레이아웃 제약 조건
- 제약 조건의 갱신은 뷰 계층구조에서 하위뷰 > 상위뷰 순서로
2. 레이아웃(Layout)
- 제약 조건을 바탕으로 갱신
- 레이아웃은 구체적인 뷰의 frame
- 여기서 center와 bounds 결정
- 레이아웃은 뷰 계층 구조에서 상위 > 하위 순서
3. 그리기(Draw)
- 레이아웃 단계에서 구한 framedmf coreGraphics 사용하여 화면에 그림
드로잉 사이클
드로잉 사이클은 뷰가 처음 화면에 나타나면 시스템이 이 컨텐츠의 snapshot을 찍고 뷰의 내용이 변경되지 않으면 다시 draw를 하지 않는다.
뷰가 변경되면 직접호출되지않고 setNeedsDisplay 메서드를 호출하여 다음 사이클에 뷰가 다시 그려질 필요가 있다고 알린다.
결론적으로 드로잉 사이클은
1. 현재 뷰 스냅샷 캡쳐
2. 컨텐츠 변경 시 setNeedsDisplay 메서드 호출하여 시스템에게 갱신 요청
3. 다음 사이클이 오면 갱신
'개발 > 개발' 카테고리의 다른 글
[iOS] - 움직이는 애니메이션 효과 Lottie (0) | 2021.04.10 |
---|---|
[iOS] - Xcode Code Coverage 정복하기 (0) | 2021.04.03 |
[iOS] - 프로젝트에 SwiftLint 적용 시키기 (0) | 2021.03.21 |
Unable to install "App Name" (2) | 2021.03.19 |
RxSwift - 옵저버블 생성하기 (0) | 2021.03.06 |