탭 표시줄 인터페이스는 창 하단에 탭을 표시하여 다른 모드 중에서 선택하고 해당 모드에 대한 View를 표시
합니다.
이 클래스는 일반적으로 있는 그대로 사용되지만 하위 클래스로 분류될 수도 있습니다.
탭 표시줄 Controller 인터페이스의 각 탭은 사용자 지정 View Controller와 연결됩니다.
사용자가 특정 탭을 선택하면 탭 막대 Controller는 이전 View를 대체하여 해당 View Controller의 Root View를 표시합니다. (사용자 탭은 이전에 선택한 탭에 관계없이 항상 탭의 루트 View를 표시합니다. 이는 탭이 이미 선택되어 있어도 마찬가지입니다.)
탭을 선택하면 인터페이스의 내용이 바뀌므로 각 탭에서 관리하는 인터페이스의 유형은 어떤 식으로든 비슷할 필요가 없습니다.
사실, 탭 바 인터페이스는 일반적으로 다른 유형의 정보를 표시하거나 완전히 다른 스타일의 인터페이스를 사용하여 동일한 정보를 표시하는 데 사용됩니다.
그림 1은 시계 앱에서 제공하는 탭 모음 인터페이스를 보여줍니다.
각 탭은 일종의 시간 기반 정보를 제공합니다.
그림 1.
탭 표시줄 Controller의 탭 표시줄 View에 직접 액세스해서는 절대 안 됩니다.
탭 표시줄 Controller의 탭을 구성하려면 각 탭에 대한 루트 View를 제공하는 View Controller를 viewControllers 속성에 할당합니다.
View Controller를 지정하는 순서에 따라 탭 표시줄에 표시되는 순서가 결정됩니다.
이 속성을 설정할 때 selectedViewController 속성에 값을 할당하여 처음에 선택된 View Controller를 나타내야 합니다. (selectedIndex 속성을 사용하여 배열 인덱스로 View Controller를 선택할 수도 있습니다.)
탭 바 Controller의 View(상속된 View 속성을 사용하여 획득)를 앱 창에 포함할 때, 탭 표시줄 Controller는 자동으로 해당 View Controller를 선택하고 콘텐츠를 표시하여 탭 표시줄 인터페이스에 맞게 크기를 조정합니다.
탭 표시줄 항목은 해당 View Controller를 통해 구성됩니다.
탭 표시줄 항목을 View Controller와 연결하려면 UITabBarItem 클래스의 새 인스턴스를 만들고 View Controller에 맞게 구성한 다음 View Controller의 tabBarItem 속성에 할당합니다.
View Controller에 대한 사용자 지정 탭 표시줄 항목을 제공하지 않으면 View Controller는 View Controller의 제목 속성에서 이미지와 텍스트가 포함되지 않은 기본 항목을 만듭니다.
사용자가 탭 모음 인터페이스와 상호 작용할 때 탭 모음 Controller 개체는 상호 작용에 대한 알림을 대리자에게 보냅니다.
대리자는 지정한 모든 개체가 될 수 있지만 UITabBarControllerDelegate 프로토콜을 준수해야 합니다.
대리자를 사용하여 특정 탭 표시줄 항목이 선택되지 않도록 하고 탭이 선택될 때 추가 작업을 수행할 수 있습니다.
대리자를 사용하여 추가 탐색 Controller에서 수행한 탭 표시줄의 변경 사항을 모니터링할 수도 있습니다.
탭 표시줄에는 사용자 지정 항목을 표시할 수 있는 공간이 제한되어 있습니다.
탭 표시줄 Controller에 6개 이상의 사용자 정의 View Controller를 추가하면 탭 표시줄 Controller는 탭 표시줄에 처음 4개 항목과 표준 추가 항목만 표시합니다.
추가 항목을 탭하면 나머지 항목을 선택하기 위한 표준 인터페이스가 나타납니다.
표준 추가 항목에 대한 인터페이스에는 사용자가 탭 표시줄을 재구성할 수 있는 편집 버튼이 있습니다. 기본적으로 사용자는 탭 표시줄의 모든 항목을 재정렬할 수 있습니다.
그러나 사용자가 일부 항목을 수정하지 못하도록 하려면 CustomizedViewControllers 속성의 배열에서 적절한 View Controller를 제거할 수 있습니다.
탭 바 사용자 정의 및 More 인터페이스는 tvOS에서 사용할 수 없습니다.
iOS 6 이상에서 이 View Controller의 restoreIdentifier 속성에 값을 할당하면 선택한 탭의 View Controller에 대한 참조가 유지됩니다.
복원 시 참조를 사용하여 동일한 View Controller가 있는 탭을 선택합니다.
탭 표시줄 Controller를 유지하는 경우, 유지하려는 자식 View Controller에 고유한 복원 식별자를 할당합니다.
자식 View Controller에서 복원 식별자를 생략하면 해당 탭이 기본 구성으로 돌아갑니다.
탭 표시줄 Controller는 viewControllers 속성에 나열된 것과 동일한 순서로 탭을 저장하지만 저장 순서는 실제로 관련이 없습니다.
하의 코드는 다음 실행 주기 동안 새 탭 표시줄 Controller를 제공할 책임이 있습니다.
상태 보존 시스템은 탭의 위치가 아닌 할당된 복원 식별자를 기반으로 각 탭의 내용을 복원합니다.