๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ iOS/UI

์ปค์Šคํ…€ ์ด๋ฏธ์ง€ํ”ฝ์ปค ๋ฐ ๋ฉ€ํ‹ฐํ”ฝ(Custom ImagePicker and MultiPick)

by Fomagran ๐Ÿ’ป 2020. 1. 9.
728x90
๋ฐ˜์‘ํ˜•

ํ•œ 2์ฃผ๋™์•ˆ ์ฐพ์•„ ํ—ค๋ฉจ๋˜ ๊ฑด๋ฐ ๊ฒฐ๊ตญ ํ•ด๊ฒฐํ•ด๋ƒˆ๋‹ค. ์•จ๋ฒ”์— ์žˆ๋Š” ์‚ฌ์ง„์„ ๊ณ ๋ฅผ ๋•Œ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ๊ณ ๋ฅด๊ณ ์‹ถ๊ณ  ๋‚ด๊ฐ€ ์ปค์Šคํ…€ํ•œ ๋””์ž์ธ์œผ๋กœ ํ”ฝ๋˜๋Š” ๋ชจ์Šต์„ ๋„์šฐ๊ณ ์‹ถ์—ˆ๋Š”๋ฐ ์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์จ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋œจ๊ณ  ์‰ฝ๊ฒŒ ํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์•จ๋ฒ”์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ๋‚ด๊ฐ€ ๋งŒ๋“  ์ฝœ๋ ‰์…˜๋ทฐ์— ์ €์žฅํ•ด์„œ ์…€๋ ‰ํŠธ๋  ๋•Œ๋งˆ๋‹ค ๋ฐ”๊พธ๋ฉด ๋˜๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐ์„ ํ–ˆ๋‹ค.

์•จ๋ฒ”์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฒ•์€

 

1.Appdelegate์— import Photos ๋ฅผ ํ•ด์ค€๋‹ค.

2. PHFetchResult๋ฅผ ๋‹ด์€ allPhotos์™€ ๊ทธ ๊ฐฏ์ˆ˜์ธ photocount๋ฅผ ์ „์—ญ ๋ณ€์ˆ˜ ์„ ์–ธํ•ด์ค€๋‹ค

 

3. didFinishLaunchingWithIptions ํ•จ์ˆ˜ ์•ˆ์— ์•„๋ž˜ ํ•จ์ˆ˜๋ฅผ ๋„ฃ์–ด์ค€ ๋’ค

4.์›ํ•˜๋Š” ์ฝœ๋ ‰์…˜๋ทฐ๊ฐ€ ์žˆ๋Š” ํด๋ž˜์Šค๋กœ ๊ฐ€์„œ numberOfItemsInSection์— photocount๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.

5. cellForItemAt์— asset๋“ค์„ indexPath.row์ˆœ์„œ๋Œ€๋กœ ๊ฐ€์ ธ์™€์„œ ์ด๋ฏธ์ง€์— ๊ฐ๊ฐ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

6.fetchImage ๋Š” PHAsset์„ imageํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์—ญํ• ๊ณผ contentMode๋ฅผ ๋ฐ”๊ฟ”์ค„ ์ˆ˜ ์žˆ๋‹ค.

7.์•จ๋ฒ”๋“ค์„ ๋ชจ๋‘ ๋ฐ›์•„์˜จ ๋’ค didSelectItemAt ๊ตฌ๋ฌธ์—์„œ ํƒญํ•  ๋•Œ๋งˆ๋‹ค ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ธ๋‹ค๋˜์ง€ ์ž๊ธฐ๋งŒ์˜ ์ปค์Šคํ…€ ์…€์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

์•„๋ž˜ํ™”๋ฉด์ฒ˜๋Ÿผ ์•จ๋ฒ”์— ์žˆ๋Š” ์‚ฌ์ง„์„ ๋ฐ›์•„์˜ค๊ณ  ํ”ฝํ•˜๋ฉด ๋ฒˆํ˜ธ๊ฐ€ ๋œจ๊ณ  ๋ทฐ์˜ ๋ณด๋”๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค!!

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€