Bibi's DevLog ๐ค๐
Collection View(UICollectionView) ์ปฌ๋ ์ ๋ทฐ ๋ณธ๋ฌธ
Collection View(UICollectionView) ์ปฌ๋ ์ ๋ทฐ
๋น๋น bibi 2022. 4. 19. 11:49Collection View(UICollectionView) ์ปฌ๋ ์ ๋ทฐ
https://www.raywenderlich.com/18895088-uicollectionview-tutorial-getting-started
์ปฌ๋ ์ ๋ทฐ๋ ์์ดํฐ์ ์ฌ์ง ์ฑ์ฒ๋ผ, ์ฌ๋ฌ ํญ๋ชฉ์ ๋์ดํ๋ ๋ ์ด์์์ด๋ค.
์ปฌ๋ ์ ๋ทฐ์ ์ค์ํ ๊ฒ์ ๋ทฐ๋ค์ ๊ฐ์ ธ์์ ๋ฐฐ์นํ๋ ๊ฒ์ผ ๋ฟ, ๊ทธ ๋ด์ฉ์ ์ค์ํ์ง ์๋ค.
Understanding the interactions between the collection view, its data source, the layout object, and your custom objects is crucial for using collection views in your app, particularly in smart and efficient ways.
์ปฌ๋ ์ ๋ทฐ, ๋ฐ์ดํฐ์์ค, ๋ ์ด์์ ๊ฐ์ฒด, ์ปค์คํ ๊ฐ์ฒด ๊ฐ์ ์ํธ์์ฉ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค.
- ๋ค๋ฅธ ๋ชจ๋ ๋ทฐ๋ค๊ณผ ๊ฐ์ด ์ ๊ณผ ๋ ์ด์์ ์กฐ์ ์ ์ ์ค์ฒ ์ธ์๊ธฐ(Gesture Recognizer)๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- Custom Layout๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
์ปฌ๋ ์ ๋ทฐ๋ ํ ์ด๋ธ๋ทฐ์ ๋นํด...
ํ ์ด๋ธ๋ทฐ์ ๋น๊ตํ์ ๋ ๋ฐ์ดํฐ ๋์ด์ด ๋ ์์ ๋กญ๋ค.
ํ ์ด๋ธ๋ทฐ์ ๊ฐ์ด Datasource & Delegate ํ๋กํ ์ฝ์ ์ด์ฉํ๋ ํจํด์ ์ฌ์ฉํ๋ค.
UICollectionView์ ๊ตฌ์ฑ์์
- UICollectionView : ์ปจํ ์ธ ๊ฐ ๋ฐฐ์น๋๋ ๋ฉ์ธ ๋ทฐ. UITableView์ ๋น์ทํ๊ฒ ์๊ฒผ๋ค. ํ ์ด๋ธ๋ทฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก UIScrollView์ ํ์ ํด๋์ค์ด๋ค.
- UICollectionViewCell : UITableViewCell๊ณผ ๋น์ทํ๋ค. ๋ทฐ์ ์ปจํ ์ธ ๋ฅผ ๊ตฌ์ฑํ๋ฉฐ ์ปฌ๋ ์ ๋ทฐ์ ํ์ ๋ทฐ์ด๋ค. cell์ ์ฝ๋ ๋๋ InterfaceBuilder๋ก ๋ง๋ค ์ ์๋ค.
- Supplementary Views : ์ปฌ๋ ์ ๋ทฐ ์์ ์์ด์ผ ํ์ง๋ง ์ ์์ ๋ฃ์ ์ ์๋ ๋ถ๊ฐ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค ๋ ์ฌ์ฉํ๋ค. ๊ฐ๋ฐ์๋ค์ ๋ณดํต supplementary view๋ฅผ header๋ footer์ ์ฌ์ฉํ๋ค.
์ปฌ๋ ์ ๋ทฐ๋ DecorationViews๋ฅผ ๊ฐ์ง ์ ์๋ค. DecorationView๋ ์ ๋ณด๋ฅผ ๋ด์ง ์์ง๋ง ์ปฌ๋ ์ ๋ทฐ์ ์ธ์์ ์ข๊ฒ ํ๊ธฐ ์ํด ๋ทฐ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค(๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง, ์ฅ์๋ฌผ ๋ฑ). DecorationView๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ปค์คํ ๋ ์ด์์ ํด๋์ค๋ฅผ ์์ฑํด์ผ ํ๋ค.
UICollectionViewLayout ์ฌ์ฉํ๊ธฐ
์์ ๊ตฌ์ฑ์์ ์ธ์, ์ปฌ๋ ์ ๋ทฐ๋ ๋ ์ด์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๋ค. ๋ ์ด์์ ๊ฐ์ฒด๋ ์ปจํ ์ธ ์ ํฌ๊ธฐ, ์์น ๋ฑ์ ์์ฑ์ ๋ด๋นํ๋ค.
๋ ์ด์์ ๊ฐ์ฒด๋ UICollectionViewLayout
์ ํ์ ํด๋์ค์ด๋ค. ์คํ ์ค์ ๋ ์ด์์์ ๋ฐ๊ฟ ์ ์๋ค. ์ฌ์ง์ด ์๋์ผ๋ก ํ ๋ ์ด์์์์ ๋ค๋ฅธ ๋ ์ด์์์ผ๋ก ๋ฐ๊พธ๋ ์ ๋๋ฉ์ด์
์ ๋ฃ์ ์๋ ์๋ค.
์ปค์คํ
๋ ์ด์์์ ๋ง๋ค๊ธฐ ์ํด UICollectionVieweLayout
์ ์์ํ ์ ์์ง๋ง, ์ ํ์ด flow๊ธฐ๋ฐ์ ๊ธฐ๋ณธ ๋ ์ด์์์ธ UICollectionViewFlowLayout
์ ์ ๊ณตํ๋ค. ์์(element)๋ grid view์ ๊ฐ์ด ํฌ๊ธฐ์ ๋ฐ๋ผ ์ฐจ๋ก๋๋ก ๋ฐฐ์น๋๋ค. ํฅ๋ฏธ๋ก์ด ๋์๊ณผ ์๊ฐ์ ํจ๊ณผ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์ด ๋ ์ด์์ ํด๋์ค(๋๋ ๊ทธ ํ์ ํด๋์ค)๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ์ฝ๋ ๊ธฐ๋ฐ์ผ๋ก
UICollectionView
๊ตฌํํ๊ธฐ UICollectionViewCell
๋ฐฐ์นํ๊ณ ๋๋ค ์์ ์ง์ ํ๊ธฐ