나무는tree
2021. 1. 11. 17:50
2021. 1. 11. 17:50
View
- 사용자와 상호작용을 할 수 있는 그림(?)이라고 생각하면 된다.
- 당연히 그림만 가지고는 어떠한 동작이나 임무를 수행할 수 없다.
- View가 사용자로부터 User Interation을 받으면 iOS 운영체제 커널 -> 이벤트 Queue -> VC의 순서로 이벤트가 전달된다.
- 따라서 User와 Controller 사이에 연결을 담당하는 것이 View인 것이다.
ViewController
- UIKit의 User Interface를 관리한다.
- 한 개의 Application 내에는 1개 이상의 ViewController를 가지고 있다.
ViewController의 종류
- ViewController
- 일반적인 VC
- 안드로이드에서의 Activity와 비슷한 역할을 수행한다.
- Container ViewController
- 다른 VC(ViewController)를 자신의 rootView에 넣는다.
- rootView 내의 VC를 상황/조건에 따라 바꿔준다. -> 메모리 공간에서의 이점은 있겠으나, 이후의 Flow를 진행할 떄에, 예기치못한 상황이나 class 타입인 VC를 다루는 데에 포인터를 확실히 제거하지 않으면 retain Cycle이 발생할 것 같다.
TabBar
- 화면 가장 하단에 위치하여, 모드 선택에 따라 그에 맞는 View를 보여주는 Interface이다.
- 쉽게 페이스북, 카카오톡을 생각하면 된다
TabBarViewController
- UIKit에 UIViewController를 상속받은 UITabBarController가 존재한다.
TabBar 구현 방법(1)
- StoryBoard에서 Root가 될 VC에 Tab Bar Controller 를 Embed한다
- Item으로 넣고 싶은 VC들을 ctrl+drag를 통해 삽입한다.TabBar 구현 방법(2)
- Root가 될 VC에 UITabBarController를 상속한다.
- 넣고 싶은 VC들을 생성하고 각각의 VC들의 tabBarItem을 초기화한다.
- 이때, tabBarItem이란, TabBar에 보일 Item(즉, 버튼)이다
- 해당 VC array를 rootVC의 viewControllers에 넣는다.
VC 이동 하는 방법
- 하단에 TabBar Item Button을 터치/클릭 하여 전환
H.I.G in Apple
- 일반적으로 3~5개의 탭을 사용하라.
- 너무 적으면 굳이 TabBar를 사용할 이유가 없으며, 너무 많으면 사용자에게 혼란을 줄 것이다.
- 다른 영역으로 이동할 때, Tab Bar를 숨기지 마라