Content View Controller?
화면을 구성하는 뷰를 직접 구현하고 관련된 이벤트를 처리하는 뷰 컨트롤러
Container View Controller?
- 하나 이상의 Child View Controller를 가지고 있고, 그 Child View Controller를 관리하고 레이아웃과 화면 전환을 담당한다.
( 화면 구성과 이벤트 관리는 Child View Controller 에서)
- Container Controller에는 대표적으로 Navigation Controller와 TabBar Controller가 존재
화면전환에는 네가지 방법이 있다.
1. View Controller의 View위에 다른 View를 가져와 바꿔치기
-> 해당 방법은 메모리 누수위험이 있기 때문에 사용하는 것을 비추한다.
2. View Controller에서 다른 ViewController를 호출하여 전환하기 (presentation 방식)
present로 이동하려는 view controller 인스턴스 넘기기
dismiss로 덮고 있는 화면 걷어내서 이전 화면으로 돌리기
3. Navigation Controller를 사용하여 화면 전환하기
UINavigation Controller는 계층 구조로 구성된 content를 순차적으로 보여주는 container view controller이다.
pushViewController, popViewController 이용 화면전환
navigation stack을 이용하여 자식 뷰를 관리한다. (선입후출)
4. 화면 전환용 객체 Segueway를 사용하여 화면 전환하기
Segueway를 이용하면 코드없이 스토리보드만으로도 화면전환이 가능하다.
Segueway에는 Action Segueway(버튼 등 이용), Manual Segueway(적절 시점)가 존재한다.
Action Segueway 종류
- Show (navigation controller)
- Show Detail (split 구조- 아래 사진 참조)
- Present modally (이전 화면 덮기)
- Present As Popover (팝업창)
- Custom
'iOS > 개념' 카테고리의 다른 글
[iOS] HTTP 통신 / URLSession (0) | 2021.10.02 |
---|---|
[iOS] Firebase remote config(원격구성), A/B Test (0) | 2021.09.30 |
[iOS] UIKit, UIView, ViewController, AutoLayout, Content Hugging, Compression Resistance (0) | 2021.09.15 |
[iOS] 화면 전환시 Life Cycle (0) | 2021.09.14 |
[iOS] View Controller Life Cycle (0) | 2021.09.14 |