티스토리 뷰

iOS 기초

[swift] NavigationController

순진이 2021. 11. 30. 21:49
  • 네비게이션 컨트롤러는 스택에 하나 이상의 차일드 뷰를 관리하는 컨테이너뷰 컨트롤러
  • 한 번에 하나의 차일드 뷰컨트롤러만 보임
  • 뷰컨에서 하나의 아이템을 선택하면 (이전 뷰컨트롤러는 숨기면서 ) 새로운 뷰컨으로 넘어가고 백버튼을 누르면 나왔던 뷰컨트롤러는 사라짐 (다시 아래로 숨겨짐)
  • 네비게이션 컨트롤러는 네비게이션 스택이라는 정돈된 배열을 가지고 차일드뷰를 관리
  • 배열의 가장 첫 번째 뷰컨트롤러를 루트뷰컨트롤러라고 하며, 스택에 가장 아래에 있음
  • 배열의 마지막 뷰컨트롤러는 스택에 맨 위에 있고, 현재 보여지고 있는 뷰컨트롤러임
  • 스택에 뷰컨을 segues와 메서드들을 통해 더하고 제거할 수 있음
  • 또한 네비게이션바의 백버튼을 이용하거나, left-edge swipe gesture를 이용하여 가장 위에 있는 뷰컨트롤러를 제거할 수 있음
  • 네비게이션 컨트롤러는 인터페이스 top에 네비게이션바를, bottom에 툴바를 관리함.
  • 네비게이션 바는 항상 보여지고 네비게이션 컨트롤러에 의해 관리됨. 네비게이션 컨트롤러는 차일드 뷰컨트롤러에 의해 제공된 컨텐트를 사용하여 네비게이션바를 업데이트함
  • ToolbarHideen 속성(property)이 false일 때, 네비게이션 컨트롤러는 가장 위에 있는 뷰컨트롤러에 의해 제공된 컨텐트로 툴바를 업데이트 함
  • 네비게이션 컨트롤러는 다른 뷰컨트롤러들의 컨텐트를 스스로에게 임베드하는 컨테이너 뷰 컨트롤러
  • 네비게이션 컨트롤러의 view 속성(property)을 통해 네비게이션의 뷰에 접근함
  • 뷰라 함은 네비게이션 바, 선택적 툴바, 컨텐트 뷰(최상위 뷰컨트롤러에 응답하는 뷰)
  • 네비게이션바&툴바 뷰의 컨텐트가 변경되었을지라도 그 뷰 자체가 변경된 게 아니라 네비게이션 스택의 최상위 뷰컨트롤러에 의해 제공된 커스텀 컨텐트 뷰가 변경되는 것.
  • 네비게이션 컨트롤러는 네비게이션 바 & 툴바의 생성, 설계, display를 관리. 네비게이션 바의 보여지는 모습(appearance)은 커스터마이징할 수 있지만, 그것의 프레임, 바운드, 알파 값을 직접적으로는 변경할 수 없음
  • 네비게이션바를 서브클래스한다면, init(navigationBarClass:toolbarClass) 메서드를 이용해 네비게이션바를 초기화해야 함
  • 네비게이션 바를 보여주거나 숨기기 위해서는 isNavigationBarHidden 속성이나 setNavigationBarHidden(_:animated) 메서드를 이용
  • 네비게이션 컨트롤러는 네비게이션 아이템 객체(UINavigationItem 클래스)를 통해 네비게이션 바의 컨텐트를 다양하게 만들 수 있음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크