ViewController๋ ๊ณ์ธต์ ์ด๋ฃจ๋ฉด์ ๊ตฌ์ฑ๋๋ค. ๊ทธ ์ค ๋ํ์ ์ผ๋ก ์๋ ค์ง ๊ฒ์ด NavigationController, TabBarController ์ด๋ค. ์ค๋์ ๊ณ์ธต์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์๋์ง ๊ฐ๋จํ๊ฒ ์์๋ณด๊ณ , ๊ตฌ์ฒด์ ์ผ๋ก๋ NaviagtionController์ TabBarController๋ฅผ ์์๋ณด๋ ค ํ๋ค. ๊ทธ๋ผ ์์ํด๋ณด์.
ViewController ๊ณ์ธต
- Modal, Push, Pop ๋ฑ viewController๋ ์์ ์, ํน์ ์๋์ ๋ค๋ฅธ ViewController๋ฅผ ๊ฐ์ง ์ ์์
- presenting, presented, parent, child ๋ฑ์ ๊ด๊ณ๋ฅผ ๊ฐ์ง
- ๊ณ์ธต ๊ตฌ์กฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ UIApplication ๊ฐ์ฒด ๋ด์ ์กด์ฌํ๋ ๋ชจ๋ VC๋ฅผ ํ์ํ๋ ๊ฒ์ด ๊ฐ๋ฅ
Responder Chain
- ๊ณ์ธต ๊ตฌ์กฐ์ ๋ฐ๋๋ก (๊ฐ์ฅ ์์์ ์ฌ๋ผ์ ์๋ View ๋ถํฐ ํ์๋ก) ์งํํ๋ฉด์, ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋์ง ํ์ธํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๋๊ธฐ๋ ๋ฐฉ์
- UIApplication์ผ๋ก ์ต์ข event๊ฐ ๋น ์ง๋ ํํ์ด๋ค.
UIKit ์ ๊ณต Container View Controller
UISplitViewController
UIPageViewController
- UIPageViewController
- ์ฌ์ฉ์ ์ ์ค์ฒ ํน์ ์ฝ๋๋ก ํ ํ๋ฉด์์ ๋๊ฐ ์ด์์ ViewController ์ปจํ ์ธ ๋ฅผ ๋์ ํํ ๊ฐ๋ฅ
- Scroll, Page Curl ์ ๋๋ฉ์ด์ ์ง์
- ์ฌ๋ฌ๊ฐ ViewController๋ฅผ Child๋ก ๊ฐ์ง
- Parent-Child ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง
UINavigationController
- Stack ๊ธฐ๋ฐ์ Container View Controller
- push, pop
NavigationController๊ฐ ๊ด๋ฆฌํ๋ Property๋ค
- viewControllers
- NavigationBar
- left item
- rootViewController๋ฅผ ์ ์ธํ ๋ชจ๋ Child ViewController์ Back ๋ฒํผ ์ ๊ณต๋จ
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ด์ ViewController์ ์ ๋ชฉ์ผ๋ก ์์ฑ๋จ
- Customํ๊ณ ์ถ์ ๊ฒฝ์ฐ backBarButtonItem์ผ๋ก ์ค์
- rootViewController๋ฅผ ์ ์ธํ ๋ชจ๋ Child ViewController์ Back ๋ฒํผ ์ ๊ณต๋จ
- middle item
navigationItem.title
,navigationItem.prompt
- ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋น ViewController์ title ์ด ํ์๋จ
- Customํ๊ณ ์ถ๋ค๋ฉด
navigationItem.titleView
์ค์
- right item
navigationItem.rightBarButtonItem
- ์ค์ ํ์ง ์์ผ๋ฉด ํ์ X
- left item
- toolBar
- Tool bar ๋ ํ์ฌ content ์์ ํ ์ ์๋ ์กฐ์์ ๋ณด์ฌ์ฃผ๋ bar
- delegate
- NavigatinController์ Life Cycle
- ํ์
- Transition
- ํน์ VC์์ ํ์ ์์ธ ๋ฃฐ ์ ์ฉ
- ์๋ธ ํด๋์ฑ ํ,
supportedInterfaceOrientations
์ค๋ฒ๋ผ์ด๋ฉํ๋ ๋ฐฉ๋ฒ๋ ๊ฐ๋ฅ - NavigationController avigationControllerSupportedInterfaceOrientations
- UIViewController supportedInterfaceOrientations
- ์์
-
Nav โ A โ B โ C
-
A๋ potrait, B, C๋ landscape๋ ์ง์ํ๊ณ ์ถ์
-
Navigation Controller์์ topViewController ์ ๊ทผ ํ, ํด๋น ViewController๊ฐ ํ์ ๊ณ ์ ์ ์ด๋ป๊ฒ ํ๋์ง ํ์ธํ์ฌ Navigation Controller์ญ์ ๋๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉ
-
ViewController ํ์ ๋ฐฉํฅ์ ๋ฐ๋ผ Navigation Controller์ ๋ฐฉํฅ๋ ๋๋ ค์ค์ผ ํ๋ค๋ ๊ฒ์ด ํฌ์ธํธ
- ํ์ ์ ํ๊ณ ์ถ์ VC์๋ง ๊ฐ์ overrideํ์ฌ ํ์ ์ ํ๋๋ก ๋ง๋ค ์ ์์
-
Transition์ ViewController ํธ์ถ ์์
A โ B Push์ ๊ฒฝ์ฐ ์์ ๊ฐ์ ์์๋ก ๋์ํ๋ค.
pop์ ๊ฒฝ์ฐ ์์ ๊ฐ์ ์์๋ก ๋์ํ๋ค.