[iOS] 내비게이션 컨트롤러

승아·2021년 4월 14일
0

부스트코스-iOS 앱 프로그래밍

✅⠀내비게이션 인터페이스

내비게이션 인터페이스란?

iOS에서 내비게이션 인터페이스는 주로 계층적 구조의 화면전환을 위해 사용되는 드릴 다운 인터페이스(drill-down interface)입니다. 드릴 다운 인터페이스란 각 선택할 수 있는 항목에 대한 세부항목이 존재하는 인터페이스입니다.

내비게이션 컨트롤러

  • 내비게이션 컨트롤러는 컨테이너 뷰 컨트롤러로써(container view controller) 내비게이션 스택(navigation stack)을 사용하여 다른 뷰 컨트롤러를 관리합니다.
  • 여기서 내비게이션 스택에 담겨서 콘텐츠를 보여주게 되는 뷰 컨트롤러들을 컨텐트 뷰 컨트롤러(content view controller)라고 합니다.
  • 내비게이션 컨트롤러는 두 개의 뷰를 화면에 표시합니다. 하나는 내비게이션 스택뷰에 포함된 최상위 컨텐트 뷰 컨트롤러의 콘텐츠를 나타내는 뷰와 내비게이션 컨트롤러가 직접 관리하는 뷰(내비게이션바 또는 툴바)가 있습니다.
  • 추가로 내비게이션 인터페이스의 변화에 따른 특정 액션을 동작하도록 하기 위해 내비게이션 델리게이트 객체를 사용할 수 있습니다.

내비게이션 스택이란?

내비게이션 컨트롤러에 의해 관리되는 내비게이션 스택(Navigation stack)은 뷰 컨트롤러를 담을 수 있는 배열과도 같습니다. 내비게이션 스택에 가장 하위에 있는(가장 먼저 스택에 추가된) 뷰 컨트롤러는 내비게이션 컨트롤러의 루트 뷰 컨트롤러(root view controller)가 됩니다. 루트 뷰 컨트롤러는 내비게이션 스택에서 팝(pop)되지 않습니다. 내비게이션 스택의 가장 상위에 있는(가장 마지막에 푸시(push) 된) 뷰 컨트롤러는 최상위 뷰 컨트롤러로 화면에 보이게 됩니다.

0개의 댓글