[UINavigationController]
공식문서 바로가기
ContentViewController vs ContainerViewController
ContentViewController
화면을 구성하는 view를 직접 규현하고 이벤트를 처리하는 view controller
ContainerViewController
하나 이상의 Child View Controller를 가지고 Child View Controller를 관리하고 화면 전환을 담당
계층구조로 구성된 content를 순차적으로 보여준다.
대표적으로 Navigation Controller와 TabBar Controller가 있다.
화면전환
화면전환 방법
- View Controller의 view 위에 다른 view를 가져와 바꿔치기 (메모리 누수가 발생할 수 있기 때문에 지양한다.)
- View Controller에서 다른 View Controller를 호출하여 전환하기
- Navigation Controller를 사용하여 화면 전환하기
- 화면 전환용 객체 Segueway를 사용하여 화면 전환하기
(1) View Controller에서 다른 View Controller를 호출하여 전환하기
present
present method로 다른 View Controller를 호출하여 전환할 수 있다.
dismiss
dismiss method로 호출한 View Controller를 종료하고 이전 View Controller로 돌아갈 수 있다.
(2) Navigation Controller를 사용하여 화면 전환하기
pushViewController
pushViewController method로 다른 View Controller를 호출하여 전환할 수 있다.
popViewController
popViewController method로 호출한 View Controller를 종료하고 이전 View Controller로 돌아갈 수 있다.
(3) 화면 전환용 객체 Segueway를 사용하여 화면 전환하기
Action Segueway
전환점이 button 같은 객체인 경우
Manual Segueway
전환점이 View Controller인 경우 (코드로 전환)
Action Segueway 종류
- Show : 가장 대표적으로 쓰이는 Action Segue
- Show Detail : iPad에서만 쓰이는 Action Segue
- Present Modally : View Controller를 Modal로 보여주는 Action Segue
- Present As Popover : iPad에서만 쓰이는 Action Segue
- Custom
화면간 데이터 전달
현재 View Controller에서 다음 View Controller로 data 전달
현재 View Controller에서 이전 View Controller로 data 전달
[참고]