본문 바로가기

iOS

[iOS] UITabBarController와 UITabBar의 차이

UITabBar

UITabBar는 UIView클래스를 상속받는다. 

앱에서 하나 이상의 탭바 안의 버튼으로 모드를 컨트롤한다.

 

 

UITabBarController

UITabBarController는 UIViewController를 상속받는다.

radio-style 선택 인터페이스를 관리하는 컨테이너 뷰 컨트롤러다. (어떤 자식 뷰 컨트룰러를 디스플레이할지 결정)

 

radio-style = 한번에 하나만 선택 가능

TabBarController 계층

 

 

디자인 패턴에서의 View와 Controller

View : 사용자의 입력을 받고 사용자에게 보여주는 데이터를 어떻게 보여줘야하는지 관리하는 객체

Controller : 사용자의 입력을 어떻게 처리해야 하는지 알고 사용자에게 어떤 데이터를 보여줘야 하는지 관리하는 객체

 

이런 관점으로 접근한더면, 

 

- UITabBar는 UIView를 상속 받으며 사용자에게 탭을 어떻게 보여줘야하는지에 대한 책임이 있는 객체

- UITabBarController는 UIViewController를 상속 받으며 사용자가 UITabBar가 어떤 선택을 했는지, 선택된 결과를 어떻게 보여줄지, 어떻게 데이터를 넣을지 등 유저가 탭을 눌렀을 때 언제눌렀고 무엇을 했는지를 알고 있기 때문에 그에 맞는 대응을 해주는 객체