728x90
* push는 navigation controller가 연결된 상태에서만 작동 *
1. segue로 push
전환 : 원래 화면에 있는 Button을 끌어다가 이동할 VC에 'Show'로 연결
뒤로가기 : 이동한 화면 속 Button에 해당 코드 작성
self.navigationController?.popViewController(animated: true)
// 평상시
self.navigationController?.popToRootViewController(animated: true)
// Tip: 네비게이션 컨트롤러로 연결된 화면에서 맨 첫번째 화면으로 뒤돌아가고 싶을 때
2. code로 push
전환 : 이동할 VC의 속성 인스펙터로 가서 storyboard ID 설정 (ex. secondVC), 원래 화면에 있는 Button에 해당 코드 작성
guard let secondVC = self.storyboard?.instantiateViewController(withIdentifier: "secondVC") else { return }
self.navigationController?.pushViewController(secondVC, animated: true)
뒤로가기 : 이동한 화면 속 Button에 해당 코드 작성
self.navigationController?.popViewController(animated: true)
// 평상시
self.navigationController?.popToRootViewController(animated: true)
// Tip: 네비게이션 컨트롤러로 연결된 화면에서 맨 첫번째 화면으로 뒤돌아가고 싶을 때
3. segue로 present
전환 : 원래 화면에 있는 Button을 끌어다가 이동할 VC에 'Present Modally'로 연결
뒤로가기 : 이동한 화면 속 Button에 해당 코드 작성
self.dismiss(animated: true, completion: nil)
// 혹은
self.presentingViewController?.dismiss(animated: true, completion: nil)
4. code로 present
전환 : 이동할 VC의 속성 인스펙터로 가서 storyboard ID 설정 (ex. secondVC), 원래 화면에 있는 Button에 해당 코드 작성
guard let secondVC = self.storyboard?.instantiateViewController(withIdentifier: "secondVC") else { return }
self.present(secondVC, animated: true, completion: nil)
뒤로가기 : 이동할 화면 속 Button에 해당 코드 작성
self.dismiss(animated: true, completion: nil)
// 혹은
self.presentingViewController?.dismiss(animated: true, completion: nil)
728x90
'Dev > iOS' 카테고리의 다른 글
[Dev, iOS] Push Notification (알림 메시지) 클릭 시 특정 뷰 오픈하기 (0) | 2022.01.26 |
---|---|
[Dev, iOS] Storyboard, Protocol 및 Delegate를 활용한 화면 간 데이터 전달 (0) | 2022.01.14 |
[Dev, iOS] Swift Package Manager 사용하기 (Xcode 13) (0) | 2022.01.13 |
[Dev, iOS] Storyboard 없이 첫 화면을 구성하는 법 (0) | 2022.01.13 |
[Dev, iOS] 백그라운드 진입 시 민감한 정보 가리기 (0) | 2021.12.21 |