UIPresentationController - Team-HGD/SniffMEET GitHub Wiki
PresentationConroller
๋ทฐ ์ปจํธ๋กค๋ฌ์ ์ ํ ์ ๋๋ฉ์ด์ ๊ณผ ํ๋ฉด์ ํ์๋๋ ๋ฐฉ์์ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด๊ฐย ํ๋ ์ ํ ์ด์ ์ปจํธ๋กค๋ฌ์ ๋๋ค.
ํ๋ ์ ํ ์ด์ ์ปจํธ๋กค๋ฌ๋?
๋ทฐ ์ปจํธ๋กค๋ฌ๊ฐ ํ๋ฉด์ ๋ํ๋๊ฑฐ๋ ์ฌ๋ผ์ง ๋๊น์ง์ ๊ณผ์ ์ ๊ด๋ฆฌํ๋ ์ญํ ์ ํฉ๋๋ค. UIKit์ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ํ์ํ ๋ ์๋์ผ๋ก ์ ์ ํ ํ๋ ์ ํ ์ด์ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํฉ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
- ์ ๋๋ฉ์ด์ ์ถ๊ฐ: ๊ธฐ๋ณธ ์ ๋๋ฉ์ดํฐ ๊ฐ์ฒด๊ฐ ์ ๊ณตํ๋ ์ ๋๋ฉ์ด์ ์ธ์๋, ํ๋ ์ ํ ์ด์ ์ปจํธ๋กค๋ฌ๋ ์ถ๊ฐ์ ์ธ ์ ๋๋ฉ์ด์ ์ ์ ์ฉํ ์ ์์ต๋๋ค.
- ํฌ๊ธฐ ๋ณ๊ฒฝ ์ฒ๋ฆฌ: ํ๋ฉด ํฌ๊ธฐ๊ฐ ๋ฐ๋๋ ๊ฒฝ์ฐ์ ๋์ํฉ๋๋ค.
- ์ถ๊ฐ ๋ทฐ ๊ด๋ฆฌ: ๊ทธ๋ฆผ์ ํจ๊ณผ, ๋ฐฐ๊ฒฝ ๋ทฐ ๋ฑ ๊พธ๋ฏธ๊ธฐ์ฉ ๋ทฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋, ํ๋ ์ ํ ์ด์ ๋์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
ํ๋ ์ ํ ์ด์ ์คํ์ผ
- UIKit์ ๊ธฐ๋ณธ ์คํ์ผ(์:ย
pageSheetย ์คํ์ผ)์ ์ฌ์ฉํ ๋ ํด๋น ์คํ์ผ์ ์ ํฉํ ํ๋ ์ ํ ์ด์ ์ปจํธ๋กค๋ฌ๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค. - ์ฌ์ฉ์ ์ ์ ์คํ์ผ์ ์ฌ์ฉํ๋ ค๋ฉดย
modalPresentationStyleย ์์ฑ์ยUIModalPresentationStyle.custom์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
์ฌ์ฉ์ ์ ์ ํ๋ ์ ํ ์ด์ ์ปจํธ๋กค๋ฌ
์ฌ์ฉ์ ์ ์ ํ๋ ์ ํ ์ด์ ์ปจํธ๋กค๋ฌ๋ ํน๋ณํ ํ๋ฉด ํ์๊ฐ ํ์ํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด:
- ๋ฐฐ๊ฒฝ์ ๊ทธ๋ฆผ์๋ ์ฅ์ ๋ทฐ๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ ๋.
- ๋ทฐ ์ปจํธ๋กค๋ฌ๊ฐ ๋ํ๋๊ฑฐ๋ ์ฌ๋ผ์ง๋ ๋ฐฉ์์ ์์ ํ ๋ณ๊ฒฝํ๊ณ ์ถ์ ๋.
๊ตฌํ ๋ฐฉ๋ฒ
- ์ ํ ๋ธ๋ฆฌ๊ฒ์ดํธ ์ค์ : ์ฌ์ฉ์ ์ ์ ํ๋ ์ ํ
์ด์
์ปจํธ๋กค๋ฌ๋ฅผ ์ ๊ณตํ๋ ค๋ฉด ๋ทฐ ์ปจํธ๋กค๋ฌ์ย
transitioningDelegate๋ฅผ ํตํด ์ ๋ฌํด์ผ ํฉ๋๋ค. - UIKit์ ๋ทฐ ์ปจํธ๋กค๋ฌ๊ฐ ํ๋ฉด์ ์๋ ๋์, ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ํ๋ ์ ํ ์ด์ ์ปจํธ๋กค๋ฌ๋ฅผ ์ ์งํฉ๋๋ค.
์ฐธ๊ณ
UIViewControllerTransitioningDelegate๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ ์ ํ
์ด์
๊ด๋ จ ๋์์ ์ ์ํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.