iOS에서 화면전환에는 크게 3가지 방법이 있다.
1. self.view를 갈아치우기: 위험하고 권장되지 않는 사항이므로 따로 다루진 않겠다.
2. UINavigationController: 이번에 다룰 네비게이션 방식 (기본으로 왼쪽에서 오른쪽으로 슬라이드 됨)
3. Modal present: 네비게이션처럼 흐름을 따라 넘어간다기보단 다른 화면위로 새로 띄워 표현하는 방식 (기본으로 아래에서 위로 올라옴)
거의 모든 앱에서 사용되고 있으며, 대부분의 화면 전환은 Navigation으로 이루어지고 있습니다.
ViewController의 화면들이 Stack으로 쌓여있으며, 최 하단에 있는 VC는 RootViewController
최상단에 있는 것은 현재 화면에 보이고 있는 화면이다.
아래와 같이 Stack으로 화면들이 순차적으로 관리될 수 있다.
Navigation Controller에 Bar 와 Toolbar가 기본적으로 제공이 된다.
기본적으로 BarButtonItem이라는 버튼 등을 사용해야돼서 커스텀하기가 귀찮을 때가 많다.
구현하고자 하는 목표에 따라 적절히 사용하면 좋을 듯 하다.
Bar
Toolbar
//네비게이션 컨트롤러를 띄우기
let navigationController = UINavigationController(rootViewController: RootViewController())
self.present(navigationController, animated: true, completion: nil)
//새로운 view stack 쌓으면서 뷰 이동
let firstStackVC: FirestStackVc()
self.navigationController?.pushViewController(firstStackVC, animated: true)
//해당 뷰에서 뒤로가기
self.navigationController?.popViewController(animated: true)
뭐지 생각보다 둘러볼 내용이 많을 것 같아서 정리를 시작했는데 크게 더 정리할 내용은 없어보이네...