[UIKit] 화면 전환의 종류 (push vs present)

jess·2023년 5월 31일
0

[iOS]

목록 보기
1/9
post-thumbnail

push vs present

presentpush
전개방향세로가로
돌아가기dismisspop
메소드UIViewControllerUINavigationController

1. UIViewController

1-1. present

  • 이동
  • modally 뷰 위에 뷰가 한겹 올라간 구조이다.
  • 세로 방향으로 전개된다.
  • ex) alert, 새로운 이메일 작성
present(viewController, animated: true, completion: nil)
📱 **present(_:animated:completion:)**
  • viewControllerPresent 현재의 뷰컨 내용 위에 보여지는 뷰컨
  • flag 애니메이션 여부
  • completion 이동이 끝난 후 실행 될 블록

1-2. dismiss

  • 돌아가기
  • viewController를 navigation으로부터 pop하고, 화면을 업데이트한다.
parentViewController?.dismiss(animated: true)

2. UINavigationController

2-1. push

  • 이동
    • 스택 위에 viewController를 push하고 화면을 업데이트한다.
    • 가로방향으로 전개
navigationController?.pushViewController(이동할VC, animated: true)
📱 **pushViewController(_:animated:)**
  • viewController 스택 위에 push한 VC, TabBar ViewController는 불가능
    • viewController가 이미 Navigation 스택에 있을 경우 예외처리
  • animated 애니메이션 여부

2-2. pop

  • 돌아가기
navigationController?.popViewController(animated: true)

2-3. popToRoot

  • 맨 처음으로
navigationController?.popToRootViewController(animated: true)

0개의 댓글