본문 바로가기

iOS

[Swift] dismiss 후 present with navigation

반응형

화면을 넘길때 이전 화면으로 전환 후 넘겨야 할때

 

아래의 코드를 이용하면 간단한다.

 

예시를 들자면 1, 2, 3 뷰가 있을 때, 2 -> 1 -> 3 이 가능한 것.

 

// 일반적인 view controller present
guard let pvc = self.presentingViewController else { return }
self.dismiss(animated: true) {
    pvc.present(SecondViewController(), animated: true, completion: nil)
}

// navigation controller present
guard let pvc = self.presentingViewController else { return }
self.dismiss(animated: false) {
    let nextVC = self.storyboard!.instantiateViewController(withIdentifier: "SettingViewController") as! SettingViewController
    let navController = UINavigationController(rootViewController: nextVC)
    navController.modalTransitionStyle = .coverVertical
    navController.modalPresentationStyle = .fullScreen
    pvc.present(navController, animated:true, completion: nil)
}

'iOS' 카테고리의 다른 글

[Swift UI] Circle button 만들기  (0) 2022.07.16
[Swift UI] Preview 바꾸기  (0) 2022.07.14
[Swift] Textfield 자동으로 키보드 띄우기  (0) 2022.03.15
[Swift] Keyboard, Transform  (0) 2022.03.15
[Swift] UITabBarController, UISegmentedControl  (0) 2022.02.24