๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Swift

[iOS] About SnapKit

by dsungc 2024. 7. 17.

๐Ÿ‘‰ SnapKit์„ ์•Œ๊ณ  ๋‚œ ํ›„ ์‹ ๋‚˜๊ฒŒ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€

์ฒ˜์Œ์œผ๋กœ ๋‚œ๊ด€์— ๋ด‰์ฐฉํ•ด ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค..!

 

๋จธ๋ฆฟ์†์—์„œ ์ƒ์ƒํ•˜๋˜ ํ™”๋ฉด์€..

 

- ํด๋” ์ถ”๊ฐ€ ์‹œ :  ํ…Œ์ด๋ธ”๋ทฐ ๋†’์ด ์ฆ๊ฐ€

- ํด๋” ์‚ญ์ œ ์‹œ :  ํ…Œ์ด๋ธ”๋ทฐ ๋†’์ด ๊ฐ์†Œ

 

์œ„ ์˜์ƒ๊ณผ ๊ฐ™์ด ๋™์ ์œผ๋กœ ํ…Œ์ด๋ธ”๋ทฐ์˜ ๋†’์ด๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

 

์ฒ˜์Œ์—” ๋‚˜๋ฆ„ ํ•ฉ๋ฆฌ์ (?)์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด 'greaterThanOrEqualTo'๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ,

๋†’์ด ์„ค์ •์„ ๋‹ด๋‹นํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ

< listTitle >์ด ์ดˆ๊ธฐํ™”๋˜๋Š” ์‹œ์  ํ›„์— ๋‹ค์‹œ ํ•œ๋ฒˆ ๋ถˆ๋Ÿฌ์ฃผ๋ฉด์„œ ๋†’์ด๋ฅผ ๋Š˜์ด๋Š” ๋ฐ์—” ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

tableView ๋†’์ด๋ฅผ ์„ค์ •ํ•ด์ฃผ๋Š” ์ดˆ๊ธฐ ์ฝ”๋“œ

 

๊ทธ๋ ‡๊ฒŒ ์‹ ๋‚˜ ํ•˜๋‹ค๊ฐ€ ์ด๋ฒˆ์—” ํด๋” ์‚ญ์ œ ํƒ€์ž„~

 

๊ทธ๋Ÿฐ๋ฐ ํ…Œ์ด๋ธ”๋ทฐ๋ฅผ ๋Š˜๋ฆฌ๋Š” ๋ฐ์—๋งŒ ์ดˆ์ ์„ ๋งž์ถฐ์„œ ๊ทธ๋Ÿฐ์ง€

ํด๋”๋ฅผ ์‚ญ์ œํ•˜๊ฒŒ ๋˜๋ฉด!

ํด๋” ์‚ญ์ œ ํ›„์˜ ํ™”๋ฉด

 

์•ˆ ๋ฐ”๋€๋‹ˆ๋‹ค.

 

๋†’์ด ์„ค์ • ๋ฉ”์„œ๋“œ์˜ ํ˜ธ์ถœ ์‹œ์ ์ด ๋ฌธ์ œ์ผ๊นŒ ์‹ถ์–ด, ํ˜ธ์ถœ ์‹œ์ ๋„ ๋ฐ”๊ฟ”๋ณด์•˜์ง€๋งŒ ๊ณ„์† ๊ฐ™์€ ํ™”๋ฉด๋งŒ ๋˜๋”๊ตฐ์š”..

 

๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ๊ตฌ์„ธ์ฃผ์˜ ๋„์›€์œผ๋กœ updateConstraints์™€ remakeConstraints๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ,,

์ •๋ง ๋ฐ˜์„ฑ์„ ๋งŽ์ด ํ•˜๊ฒŒ ๋˜๋”๋ผ๊ณ ์š”.. 

 

๋ฌด์ง€์„ฑ์œผ๋กœ ์“ฐ๋˜ ๋ฉ”์„œ๋“œ๋งŒ ๊ณ„์† ์“ฐ๋Š”..

๋ฐ˜์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ž˜๋ชป๋œ ์ฝ”๋“œ ์กฐ๊ฐ๋“ค๋กœ ๊ณ„์† ์ด๊ฒƒ์ €๊ฒƒ ์‹œ๋„ํ•ด ๋ณด๋‹ˆ ์•ˆ ๋˜๋Š” ๊ฑด ๋‹น์—ฐํ–ˆ์Šต๋‹ˆ๋‹ค

 

์•„๋ฌดํŠผ ์ด ๋‘๊ฐ€์ง€๋ฅผ ํ™œ์šฉํ•ด์„œ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œ์ผœ ๋ดค์Šต๋‹ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด ๋ˆˆ์œผ๋กœ ๋ณด๋Š” ๊ฒŒ ๊ฐ€์žฅ ์ง๊ด€์ ์ด๋‹ˆ๊นŒ?

 

๊ฒฐ๊ณผ๋Š”

๋ฉ”์„œ๋“œ ์ ์šฉ ๊ฒฐ๊ณผ

 

๋‘ ๋ฉ”์„œ๋“œ ๋ชจ๋‘ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

๊ทธ๋ ‡๋‹ค๊ณ !

๊ทธ๋Ÿผ ์•ž์œผ๋กœ ๋‘˜ ์ค‘ ํ•˜๋‚˜ ์•„๋ฌด๊ฑฐ๋‚˜ ์จ์•ผ์ง€~~~

.

.

.

ํ•˜๋ฉด ๊ทธ๋ƒฅ ๋‹ญ์ด ์•„๋‹๊นŒ์š”..? 

์•ž์„œ ์–ธ๊ธ‰ํ•œ ๋ฐ˜์„ฑ์˜ ๋ฉ”์‹œ์ง€

๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ^^

์ด๋ฒˆ์—” ๊ฐ๊ฐ์„ ์•Œ์•„๋ณธ ํ›„ ๋น„๊ตํ•ด ๊ฐ€๋ฉฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ๋งž์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค..!! 

 

 

๊ทธ๋ž˜์„œ ๋น„๊ต๋ฅผ ์ข€ ํ•ด๋ณด์ž๋ฉด..!

๋‹จ์–ด ํ•ด์„ ๊ทธ๋Œ€๋กœ ๋ฐ›์•„๋“ค์ด๋‹ˆ ์‰ฝ๊ฒŒ ๋ฐ›์•„๋“ค์—ฌ์กŒ์Šต๋‹ˆ๋‹ค.

 

updateConstraints remakeConstraints
๋‹จ์–ด ๊ทธ๋Œ€๋กœ update์ด๋‹ค.
๊ธฐ์กด์˜ ์ฝ”๋“œ๋Š” ๊ทธ๋Œ€๋กœ ๋‘๋ฉด์„œ ๋‚ด๊ฐ€ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ ์ฝ”๋“œ๋งŒ ๋”ฑ ๊ณจ๋ผ ๋ฐ”๊ฟ”์ค„ ์ˆ˜ ์žˆ๋‹ค.

ex. ์œ„์˜ ์˜์ƒ์ฒ˜๋Ÿผ ๋†’์ด๋งŒ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ ํ•ฉํ•œ ๋ฉ”์„œ๋“œ
์ด ์นœ๊ตฌ ์—ญ์‹œ ๋‹จ์–ด ๊ทธ๋Œ€๋กœ ๋‹ค์‹œ ์ œ์•ฝ์„ ์„ค์ •ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
์ด์ „์˜ ์„ค์ •๋“ค์„ ๋‹ค ์ œ๊ฑฐํ•˜๊ณ  ์ƒˆ๋กœ ์ œ์•ฝ์„ ์„ค์ •ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์›์น˜ ์•Š๋Š” ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚  ์ˆ˜๋„ ์žˆ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

ex. ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ์ œ์•ฝ์„ ์ „์ฒด์ ์œผ๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋•Œ ์ ํ•ฉํ•œ ๋ฉ”์„œ๋“œ

 

 

 ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํ…Œ์ด๋ธ”๋ทฐ์˜ height ์™ธ์—๋Š” ๋‹ค๋ฅธ ์š”์†Œ๋“ค์€ ๋ชจ๋‘ ๋ณ€ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—!!

์‚ฌ์šฉํ•  ๋ฉ”์„œ๋“œ๋Š” ~~  updateConstraints!!

 

<๊ตฌํ˜„์— ์‚ฌ์šฉํ•œ ์ฝ”๋“œ>

์ดˆ๊ธฐ์„ค์ • ๋ฉ”์„œ๋“œ ์—…๋ฐ์ดํŠธ ๋ฉ”์„œ๋“œ

 

์ดˆ๊ธฐ์„ค์ •๋„ listTitle์ด ๋ฐ”์ธ๋“œ ๋œ ํ›„ conFigureContentView๋ฅผ ์‹คํ–‰์‹œ์ผœ์ฃผ์—ˆ๊ณ ,

์…€์ด ์ถ”๊ฐ€๊ฐ€  ๋˜๊ฑฐ๋‚˜, ์…€์ด ์‚ญ์ œ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์—”

updateTableViewHeight๋ฅผ ์‹คํ–‰์‹œ์ผœ

tableView์˜ ๋†’์ด๋ฅผ ๋ณ€๊ฒฝํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

๋ฉฐ์น  ๊ณ ๋ฏผํ•˜๊ณ  ์‚ฝ์งˆ๋„ ๋งŽ์ด ํ–ˆ์ง€๋งŒ, ๊ฒฐ๊ตญ ์„ฑ๊ณตํ–ˆ์œผ๋‹ˆ....

๊ณ ๋‡Œ์˜ ์‹œ๊ฐ„์ด ์•„์ง ํ•™์Šต๋‹จ๊ณ„์ด๊ธฐ์— ๋„์›€์ด ๋˜์—ˆ์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค 

 

 

๊ทธ๋Ÿผ

.

.

.

 

์š”๊ธฐ๊นŒ์ง€.

 

 

'Swift' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[iOS] About Property Wrapper  (0) 2024.08.04
[iOS] About FsCalendar - 2  (0) 2024.07.20
[iOS] About FSCalendar - 1  (0) 2024.07.14
[iOS] About ์ปฌ๋ ‰์…˜๋ทฐ ์†์„ฑ  (0) 2024.07.10
[iOS] About ์˜ˆ์™ธ์ฒ˜๋ฆฌ(Error Handling)  (0) 2024.07.07