iOS/Swift

[ Swift ] UITableViewCell์˜ ๊ฐ„๊ฒฉ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฒฝํ‘ธ 2022. 9. 21. 18:45
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š”~

 

์˜ค๋Š˜์€ ๋งค๋ฒˆ ๊นŒ๋จน๊ณ  ๋‚˜์„œ ๋‹ค์‹œ ์ฐพ๊ฒŒ ๋˜๋Š”

UITableViewCell์˜ ๊ฐ„๊ฒฉ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋‘๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) 

 

1. Layoutsubviews

- ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋Š” UIView๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋กœ์„œ ํ•˜์œ„ ๋ทฐ๋“ค์˜ ์ •ํ™•ํ•œ ๋ ˆ์ด์•„์›ƒ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ override ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

- ์ด ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ TableViewCell์˜ ContentView์˜ ๋ ˆ์ด์•„์›ƒ์„ ์ˆ˜์ •ํ•จ์œผ๋กœ์จ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

Apple Developer

 

2.  ๋ฐฉ๋ฒ•

- ์œ„์—์„œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ TableViewCell ์•ˆ์—๋Š” ContentView๋ผ๋Š” UIView๊ฐ€ ์กด์žฌํ•˜๊ณ , ์ด๊ณณ์— ์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋‚˜ ํ…์ŠคํŠธ ๋“ฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ Custom ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

 

 

๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด layoutSubviews ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ContentView์˜ ์œ„์น˜๋ฅผ ์ˆ˜์ •ํ•˜๊ฒŒ ๋˜๋ฉด ์ƒํ•˜์ขŒ์šฐ ์›ํ•˜๋Š” ๊ณณ์— ๊ฐ„๊ฒฉ์„ ์ค„ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

override func layoutSubviews() {
    super.layoutSubviews()
    contentView.frame = contentView.frame.inset(by: UIEdgeInsets(top: 0, left: 0, bottom: 8, right: 0))
}

 

 

์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์ง€๋งŒ ์ •์ƒ์ž‘๋™ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด 

ํ˜„์žฌ Custom ํ•œ View๋“ค์ด Cell์˜

ContentView์— ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด ๋งž๋Š”์ง€ ํ™•์ธํ•ด ๋ณผ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

contentView.addSubview(Image, Label ๋“ฑ๋“ฑ)

 

๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”~

 

๊ทธ๋Ÿผ ์ด๋งŒ ๐Ÿ‘‹๐Ÿป ๐Ÿ‘‹๐Ÿป ๐Ÿ‘‹๐Ÿป

 

 

๋ฐ˜์‘ํ˜•