-
iOS/Xcode 14X - NavigationController 화면 전환 방법Language/iOS,AOS 2023. 1. 18. 14:41
화면 전환 방법에는 대표적으로 네 가지 방법이 있다.
- ViewController의 view 바꿔치기
- ViewController가 다른 ViewController를 호출(present)
- NavigationViewController 사용하여 화면 전환(push)
- 화면 전환용 객체 Segue 사용
아래에서 각각의 방법으로 이동하는 법을 알아보자.
먼저 이동할 Scene에 아래와 같이 Storyboard ID를 입력한다.
mainVC 입력 ViewController의 view 바꿔치기
메인뷰를 바꿔치기 하는 방식이다, 하지만 메모리 overflow 위험이 있기 떄문에 좋은 방법이 아니라고 한다.
// ##### CASE1. ViewController의 view 바꿔치기 let mainVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "mainVC") self.navigationController?.viewControllers[0] = mainVC
ViewController가 다른 ViewController를 호출(present)
많이 애용하는 방식이고 가장 대표적인 방법이라고 한다.
다른 ViewController를 Modal로 띄우는 방법으로 다음 코드를 사용한다.
// ##### CASE2. ViewController가 다른 ViewController를 호출(present) let mainVC = self.storyboard?.instantiateViewController(withIdentifier: "mainVC") mainVC?.modalPresentationStyle = .fullScreen // 전체화면으로 보이게 설정 mainVC?.modalTransitionStyle = .crossDissolve // 전환 애니메이션 설정 // mainVC?.modalTransitionStyle = .coverVertical self.present(mainVC!, animated: true, completion: nil)
NavigationViewController 사용하여 화면 전환(push)
navigation stack에 추가 하는 방식입니다.
// ##### CASE3. NavigationViewController 사용하여 화면 전환(push) let mainVC = self.storyboard?.instantiateViewController(withIdentifier: "mainVC") // Push View Controller Onto Navigation Stack self.navigationController?.pushViewController(mainVC!, animated: true) // Pop View Controller From Navigation Stack // self.navigationController?.popViewController(animated: true) // 제스처로 뒤로가는 기능 삭제 // self.navigationController?.interactivePopGestureRecognizer?.isEnabled = false // 네비게이션 바 안보이게 (커스텀 할 경우 RootView에 한번 만들어주면 다 없어짐) // self.navigationController?.navigationBar.isHidden = true
화면 전환용 객체 Segue 사용
https://dchkang83.tistory.com/115
IOS/WebView/Project - View 이동 테스트#5
IOS/Xcode 14X Swift5.7.2 WKWebView 에서 작업 진행 버튼 추가 View Controller 추가 (MainController 용) 추가된 View Controller class 변경 None -> MainViewController Segue 연결 Button -> Ctrl + Drag&Drop -> Show 로그 및 정상동작 확
dchkang83.tistory.com
참조
[Swift] ViewController 화면전환 방법
ViewController의 화면 전환 방법에 대해 알아보자. 화면 전환 방법에는 대표적으로 네 가지 방법이 있다. ViewController의 view 바꿔치기 ViewController가 다른 ViewController를 호출(present) Navigation
velog.io
https://steven8.tistory.com/31
[Swift / ViewControllers] Navigation Controller - xib
NavigationController는 여러개의 ViewController를 관리하고 앱에서 화면을 이동하는데 사용됩니다. - NavigationController를 사용하기 위해서는 RootView를 만들어 줘야 합니다 - 어떤 뷰를 RootView로 지정하고 그
steven8.tistory.com
'Language > iOS,AOS' 카테고리의 다른 글
IOS - 웹뷰 사파리 브라우저 디버깅 (0) 2023.01.20 iOS/Xcode 14X/오류 - This method should not be called on the main thread as it may lead to UI unresponsiveness (0) 2023.01.19 iOS/Xcode 14X - View Controller 생명주기 (Life Cycle) (0) 2023.01.09 iOS/Xcode 14X - 6. WebView 세팅 (0) 2023.01.09 iOS/Xcode 14X - 5. WebView 준비 (0) 2023.01.09