iOS Study์ ๋ค๋
์๋ค. 4์์ ์ฐธ์ํ๊ณ , 5์์ ๋น ์ง๊ณ . 2๋ฒ์งธ ์ฐธ์!
์ด๋ฒ ์คํฐ๋๋ ๋๋ถ๋ถ UI์ ๋ํ ๋ถ๋ถ์ด์๋๋ฐ iOS 6์์ ์ถ๊ฐ๋ Auto Layout๊ณผ iOS 5์์ ์๊ธด UIPageViewController, ๊ทธ๋ฆฌ๊ณ UIPickerView, UIDatePickerView๋ฅผ ๋ค๋ค๋ค.
Auto Layout์ ๋ชฉ์ ์ ๋๋ฐ์ด์ค ํ๋ฉด ์ฌ์ด์ฆ์ ๋ฐฉํฅ์ ๋
๋ฆฝ์ ์ธ ๋ ์ด์์์์ ๋ทฐ๋ค์ด ํด์ผ ํ๋ ๋์๋ค์ ๊ฐ๋ฐ์๋ค์ด ๊ธฐ์ ํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ๋์์ ์ปจ์คํธ๋ ์ธํธ(Constraint)๋ก ๊ตฌํ๋๋ค.
Auto Layout์ ๊ธฐ์กด์ ์คํ ์ฌ์ด์ง(autosizing)๊ณผ๋ ๋ฌ๋ฆฌ, ํ์ ๋ทฐ์ ์์ ๋ทฐ์ ๋ํ ๋ถ๋ถ ๋ฟ๋ง ์๋๋ผ ํ์ ๋ทฐ๋ค ๊ฐ์ ์ปจ์คํธ๋ ์ธํธ๋ค์ ์ ์ธํ ์๋ ์๋ค. ์ปจ์คํธ๋ ์ธํธ๋ 0๋ถํฐ 1000๊น์ง ๋ฒ์์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง๋ฉฐ ์ฐ์ ์์์ ๋ฐ๋ผ ์ ์ฉ๋๋ค. ํ์์ ์ธ ์ปจ์คํธ๋ ์ธํธ(required constraint)๋ 1000์ผ๋ก ํ์๋๋ค.
์ปจ์คํธ๋ ์ธํธ๋ ์ธํฐํ์ด์ค ๋น๋ ๋๋ ์๊ฐ์ ํ์ ์ธ์ด, API ์ฝ๋(NSLayoutConstraint)๋ก ์์ฑ๋๋ค.
์ฃผ์ํ ์ ์ Auto Layout์ด ์ ์ฉ๋ ๋ทฐ์ ์ ๋๋ฉ์ด์
์ด ์ ์ฉ๋ ๋์๋ Auto Layout์ด ๊ฐ์ด ์ ์ฉ๋๊ธฐ ๋๋ฌธ์ ๋ถ์์ฐ์ค๋ฌ์ด ์ฒ๋ฆฌ๊ฐ ๋ฐ์ํ ์ ์๊ณ , ์ด๋ฐ ๋ถ๋ถ์ ์ฝ๋๋ก ํด๊ฒฐํด์ผ ํ๋ค.
UIPageViewController๋ ํ์ด์ง๊ฐ ๋์ด๊ฐ๋ ๋ฏํ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๊ตฌํ์ ์ง์ํ๋ค. UIPageViewController๋ ์ฌ๋ฌ ๊ฐ์ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ค์ ํฌํจํ๊ณ ๊ด๋ฆฌํ๋ ์ปจํ
์ด๋ ์ปจํธ๋กค๋ฌ์ ์ผ์ข
์ด๊ณ ํ๋์ ๋ทฐ ์ปจํธ๋กค๋ฌ์์ ๋ค๋ฅธ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ก ์ ํํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
UIPageViewControllerDataSource ํ๋กํ ์ฝ์ ๋ฐ๋์ ๋ค์ ๋ ๋ฉ์๋๋ฅผ ๊ตฌํํด์ผ ํ๋ค.
* viewControllerAfterViewController: - ์ด ๋ฉ์๋๋ ํ์ฌ ํ์๋๊ณ ์๋ ํ์ด์ง์ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ์ ๋ฌ๋ฐ๊ณ ๋ค์ ํ์ด์ง๋ฅผ ํ์ํ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ๋ฆฌํดํ๋ค.
* viewControllerBeforeViewController: - ์ด ๋ฉ์๋๋ ํ์ฌ ํ์๋๊ณ ์๋ ํ์ด์ง์ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ์ ๋ฌ๋ฐ๊ณ ์ ํ์ด์ง๋ฅผ ํ์ํ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ๋ฆฌํดํ๋ค.
UIPageViewController๋ ์์ง ํน์ธ ์ํ์ผ๋ก ๋ทฐ๋ค์ ์ ํํ ์ ์๋ค.
- UIPageViewControllerNavigationOrientationalHorizontal
- UIPageViewControllerNavigationOrientationalVertical
UIPageViewController๋ ์คํ์ธ(spine)์ ์์น๋ฅผ ์ค์ ํ ์๋ค. ์คํ์ธ์ธ ๊ฐ ํ์ด์ง๊ฐ ๋๊ฒจ์ง๋ ์ถ์ ์์น๋ฅผ ์๋ฏธํ๋ค.
UIPageViewControllerDelegate ํ๋กํ ์ฝ
* spineLocationForInterface: - ์ด ๋ธ๋ฆฌ๊ฒ์ดํธ ๋ฉ์๋์ ์ญํ ์ ์ฌ์ฉ์์ ์ํด ๊ธฐ๊ธฐ๊ฐ ํ์ ์ ํ์์ ๋ ์คํ์ธ ์์น๊ฐ ๋ฐ๋ ์ ์๊ฒ ํ๋ค.
* transitionComplete: - ์ด ๋ฉ์๋๋ ํ๋ฉด ๊ธฐ๋ฐ์ ์ ์ค์ฒ์ ์ํด ํ์ด์ง ์ ํ์ด ๋๋ ํ ํธ์ถ๋๋ค.
๊ทธ ์ธ์๋ ๊ฐ๋จํ ์์ ์์ฃผ๋ก ์งํ๋์๊ณ , ๋ง์ iOS ๊ฐ๋ฐ์๋ค์ด ์ฐธ์ํด์ฃผ์
จ๋ค. ๋ค์ ๋ฌ๋ถํฐ๋ ๋น ์ง์ง ๋ง๊ณ ๋๊ฐ์ผ์ง!