코드로 NavigationController를 추가하고,
NavigationController stack의 viewController의 화면전환을 코드로 작성합니다.
1. UINavigationController
- window.rootViewController에 다음과 같이 UINavigationController 타입인 MainViewController를 넣어줍니다.
- UINavigationController의 rootViewController에 가장 처음 보여질 ViewController를 넣어줍니다.
2. 화면 전환
2-1 Present & Dismiss
- Present
viewController위에 새로운 viewController가 모달로 나타나는 형식입니다.
- 다음과 같이 present 메서드로 새로운 viewController를 보여줍니다.
- Dismiss
present된 viewController를 제거합니다.
- presentingViewcontroller는 현재의 viewController를 present한 이전 viewController입니다.
- 이때 self.dismiss를 사용해도 똑같이 작동합니다. 그러나 이때는 dismiss의 결과를 이전 viewController가 아닌 present된 현재의 viewController에 전달합니다.
- 화면상으로는 같지만 completion 구현시에 차이점 나타남
2-2 Push & Pop
- Push
navigation stack에 새로운 viewController를 추가(push)합니다.
- 다음과 같이 navigationController에 push하여 추가해줍니다.
- Pop
push된 새로운 viewController를 Navigation stack에서 제거합니다.
- 다음과 같이 navigationController에서 pop하여 제거합니다.
- 스와이프로도 pop action이 가능합니다.