-
The Role of View Controllers (1) - Overview - View Controller Programming Guide for iOSiOS/๐ Documentation 2021. 1. 14. 00:41
์ถ์ฒ: Appple Develover Documentation [ View Controller Programming Guide for iOS ]
View controllers๋ ์ฑ ๋ด๋ถ๊ตฌ์กฐ์ ๊ธฐ๋ณธ ์์์ ๋๋ค.
๋๋ถ๋ถ์ ์ฑ์ ์ฌ๋ฌ ๊ฐ์ View controller๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๊ฐ๊ฐ์ View controller๋ ์ฑ ๋ด ์กด์ฌํ๋ UI ์ผ์ ๋ถ๋ถ์ฉ์ ๋ด๋นํ๊ณ interactions ( ์ด๋ฒคํธ ์ฒ๋ฆฌ ) ๋ค์ ๋ด๋นํฉ๋๋ค.
๋ํ ๋ค๋ฅธ UI๋ก์ transition์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
์ฆ, View controller๋ ์ฑ์์ ์์ฃผ ์ค์ํ ์ญํ ์ ๋งก์ต๋๋ค.
UIKit์ด ์ ๊ณตํ๋ UIViewController ํด๋์ค๋ View๋ค์ ๊ด๋ฆฌํ๊ณ , ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๊ณ , ๋ค๋ฅธ View controller๋ก ์ด๋ํ๊ณ (transition) ์ฑ ๋ด์ ๋ค๋ฅธ ๋ถ๋ถ๋ค๊ณผ ํ๋ ฅ (coordinate) ํ ์ ์๊ฒ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฉ์๋์ ์์ฑ์ ์ ๊ณตํฉ๋๋ค.
๋ณดํต UIViewController๋ฅผ ์๋ธ ํด๋์ฑ ํ์ฌ ๊ฐ๋ฐ์๊ฐ ์์ ์ด ๊ฐ๋ฐํ๋ ์ฑ ๋ด์์ ํ์ํ ์ปค์คํ ์ฝ๋( ๋์์ ๊ตฌํํ๋ method, ํ์ํ ์ ๋ณด๋ฅผ ๋ด์ property)๋ฅผ ์ถ๊ฐํ์ฌ ์์ฑํฉ๋๋ค.
View contorller์๋ 2๊ฐ์ง ํ์ ์ด ์์ต๋๋ค.
1. Content view controllers (์ดํ Content VC)
ํ๋์ ๋ฃจํธ ๋ทฐ๋ฅผ ๊ฐ์ง๊ณ , ๊ทธ ์์ ์๋ธ ๋ทฐ๋ค์ด ์กด์ฌํ๋ค.
2. Container view controllers (์ดํ Container VC)
๊ทธ ์์ฒด๋ก ๋ฌด์์ ๋ํ๋ด์ง ์๋๋ค. ๋์ Child view controllers ๋ค์ ๊ฐ์ง๊ณ ์๊ณ ๊ทธ๊ฒ๋ค์ ์ ๋ณด๋ก present ํ๋ค.
๋๋ถ๋ถ์ ์ฑ๋ค์ ์ด๊ฒ๋ค์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด Container VC์ Child VC๋ ๋ณดํต Content VC๋ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ ํํ์ ๋๋ค.
View Management
๋ชจ๋ VC ๋ ๋จ ํ๋์ root view๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ด root view๋ ํด๋น VC์ ๋ชจ๋ ์ฝํ ์ธ ๋ฅผ ํฌํจ (encloses) ํ๊ณ ์์ต๋๋ค.
์ด root view ์๋ ๊ณ์ธต์ view๋ค์ ์ถ๊ฐํด์ ํ๋ฉด์ ๋ณด์ฌ์ค ์ฝํ ์ธ ๋ฅผ ๋์๋๋ค.
๋ณดํต outlet์ ์ฌ์ฉํด์ VC ๊ณ์ธต์ ์กด์ฌํ๋ View๋ค์ ์ ๊ทผํฉ๋๋ค.
Content VC๋ ๊ทธ ๊ณ์ธต์ ํฌํจ๋ ๋ชจ๋ View ๋ค์ ์ง์ ๊ด๋ฆฌํฉ๋๋ค.
Container VC๋ ์์ฒด ๋ทฐ์ ํ๋ ํน์ ์ฌ๋ฟ์ด ๋ ์ ์๋ Child view controller์ root view ๋ง ๊ด๋ฆฌํฉ๋๋ค.
Container VC๋ child์ ์ฝํ ์ธ ๋ฅผ ๊ด๋ฆฌํ์ง ์์ต๋๋ค. Child์ root view ๋ง์ ๊ด๋ฆฌํ๋ฉฐ, Container ๋์์ธ์ ๋ง๋๋ก ํฌ๊ธฐ ์กฐ์ ๊ณผ ์์น ์กฐ์ ์ ํฉ๋๋ค.
์๋ก Split View Controller๋ฅผ ๋ค ์ ์์ต๋๋ค.
์ด๊ฒ์ Container View๋ก, ์์ฒด์ ๋ทฐ์ธ Spit View Container View๋ฅผ ๊ด๋ฆฌํ๊ณ , ์ด๊ฒ์ ๋์์ธ์ ๋ง๊ฒ Child VC ๋ค์ ์ฌ์ด์ฆ ๋ฐ ์์น๋ฅผ ์กฐ์ ํ๊ณ ์์ต๋๋ค.
๋!
๋ค์ ๊ธ: The Role of View Controllers (2) - Overview - View Controller Programming Guide for iOS
'iOS > ๐ Documentation' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Bundle - Foundation (0) 2021.01.25 Hashable - Protocol (0) 2021.01.20 [iOS] Equatable ์ด๋? (0) 2021.01.20 The Role of View Controllers (3) - Overview - View Controller Programming Guide for iOS (0) 2021.01.14 The Role of View Controllers (2) - Overview - View Controller Programming Guide for iOS (0) 2021.01.14