[iOS] TabbarController

728x90
반응형

TabbarController 대해 알아 보겠습니다.

 

TabbarController?

한가지를 선택할 수 있는 라디오 스타일의 컨테이너 뷰 컨트롤러.
여기서 선택은 표시할 자식 뷰 컨트롤러를 말합니다.

 

UITabBar

하나 이상의 버튼을 이용해 서로 다른 작업이나 뷰, 모델 등을 선택해 제어하기 위한 바 보통 UITabBarController 와 결합해 많이 쓰지만 단독으로도 활용 가능 UIToolbar 와 비슷한 모양이지만 상이한 목적을 지님.

  • 탭바는 앱의 모드를 변화하기 위한 것
  • 툴바는 현재 뷰컨트롤러의 컨텐츠에 관련된 액션을 수행하기 위한 것

 

UITabBarITem

  • 하나의 TabBarITem 마다 각각의 ViewController 가 연결
    ViewController 에 tabBarItem 속성을 통해 해당 아이템에 접근 가능
  • TabBar에는 최대 5개의 TabBarItem 표현. 5개를 초과할 경우 More 아이템으로 대체

 

More

TabbarItem이 5개 이상일때 5번째 Tabbar는 More로 변하게 된다.

직접 TabbarController를 만들어 봤습니다. TabbarController에는 7개의 ViewController가 있습니다.

5번째 Tabar는 자동으로 More로 변했으며 More를 누르면 아래의 그림과 같이 선택해서 들어갈 수 있습니다.

 

 

TabbarContoller life Cycle

TabbarController에 3개의 ViewController가 있다고 가정 합니다.

각 탭을 선택했을때

 

첫번째 탭

-------- [ FirstVC viewDidLoad ] --------
-------- [ FirstVC viewWillAppear ] --------

순으로…

 

두번째 탭
-------- [ SecondVC viewDidLoad ] --------

-------- [ SecondVC viewWillAppear ] --------

순으로…

 

첫번째 탭
-------- [ FirstVC viewWillAppear ] --------

 

두번째 탭
-------- [ SecondVC viewWillAppear ] --------

 

처음탭을 하였을때는 viewDidLoad부터 실행되지만, 다음에 똑같은 탭을 선택했을때는 viewDidLoad()는 호출되지 않고 viewWillAppear()부터 호출 된다는 사실을 알아야합니다!

   

반응형

'iOS' 카테고리의 다른 글

[iOS] 단축키(Shortcuts)  (0) 2019.07.24
[iOS] UIImagePickerController  (0) 2019.07.24
[iOS] NotificationCenter  (0) 2019.07.24
[iOS] UIDocumentInteractionController  (1) 2019.07.24
[iOS] 앱 샌드박스(App Sandbox)와 Container Directory  (1) 2019.07.24