View

  • 사용자와 상호작용을 할 수 있는 그림(?)이라고 생각하면 된다.
    • 당연히 그림만 가지고는 어떠한 동작이나 임무를 수행할 수 없다.
  • View가 사용자로부터 User Interation을 받으면 iOS 운영체제 커널 -> 이벤트 Queue -> VC의 순서로 이벤트가 전달된다.
    • 따라서 User와 Controller 사이에 연결을 담당하는 것이 View인 것이다.

ViewController

  • UIKit의 User Interface를 관리한다.
  • 한 개의 Application 내에는 1개 이상의 ViewController를 가지고 있다.

ViewController의 종류

  1. ViewController
    • 일반적인 VC
    • 안드로이드에서의 Activity와 비슷한 역할을 수행한다.
  2. Container ViewController
    • 다른 VC(ViewController)를 자신의 rootView에 넣는다.
    • rootView 내의 VC를 상황/조건에 따라 바꿔준다. -> 메모리 공간에서의 이점은 있겠으나, 이후의 Flow를 진행할 떄에, 예기치못한 상황이나 class 타입인 VC를 다루는 데에 포인터를 확실히 제거하지 않으면 retain Cycle이 발생할 것 같다.

TabBar

  • 화면 가장 하단에 위치하여, 모드 선택에 따라 그에 맞는 View를 보여주는 Interface이다.
  • 쉽게 페이스북, 카카오톡을 생각하면 된다

TabBarViewController

  • UIKit에 UIViewController를 상속받은 UITabBarController가 존재한다.

TabBar 구현 방법(1)

  1. StoryBoard에서 Root가 될 VC에 Tab Bar Controller 를 Embed한다
  2. Item으로 넣고 싶은 VC들을 ctrl+drag를 통해 삽입한다.TabBar 구현 방법(2)
  3. Root가 될 VC에 UITabBarController를 상속한다.
  4. 넣고 싶은 VC들을 생성하고 각각의 VC들의 tabBarItem을 초기화한다.
    • 이때, tabBarItem이란, TabBar에 보일 Item(즉, 버튼)이다
  5. 해당 VC array를 rootVC의 viewControllers에 넣는다.

VC 이동 하는 방법

  • 하단에 TabBar Item Button을 터치/클릭 하여 전환

H.I.G in Apple

  • 일반적으로 3~5개의 탭을 사용하라.
    • 너무 적으면 굳이 TabBar를 사용할 이유가 없으며, 너무 많으면 사용자에게 혼란을 줄 것이다.
  • 다른 영역으로 이동할 때, Tab Bar를 숨기지 마라

+ Recent posts