[iOS] - UINavigationController, 화면 전환

sun02·2021년 12월 19일
0

코드로 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이 가능합니다.

0개의 댓글