ํ ์ด๋ธ๋ทฐ ์ ์ฒด์ cornerRadius๋ฅผ ์ฃผ๊ณ ์ถ์๋ฐ ์ ์ฉ์ด ๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์์ญ์ ํ์ธํด๋ณด๊ณ ์ ๋ฐฑ๊ทธ๋ผ์ด๋์ปฌ๋ฌ๋ฅผ ์ฃผ๊ณ ํ์ธํด๋ณด๋ ์ ๋ถ๋ถ์ด ์ ์ฉ์ด ๋์ง ์์๋ค.
๊ทธ๋์ ์ ์ฉ์ ํด๋ดค๋๋ฐ ์ ๋์ง ์์๋ค.
์ฌ์ค cell์ ์ ์ฉ์ ํด์ฃผ๊ณ ์ถ์๋ฐ ์ฌ๊ธฐ์์๋ ์ด๋ป๊ฒ ์ ์ ์ค์ผํ ์ง ๊ณ ๋ฏผ์ด์๋ค.
ํ์๋ค๊ณผ ์๊ธฐ๊ฐ ๋์จ ๊น์ ์ด๊ฒ ์ ๊ฒ ๋ง์ด ์๋ ํด๋ณธ ๊ฒฐ๊ณผ...ใ ใ ใ
๊ทธ๋์ contentView์ self ๋ญ๊ฐ ๋ค๋ฅธ๊ฑฐ์ง..?
๋ด๊ฐ ํ๊ณ ์ถ์๋ ๊ฒ์ ํ์ฌ ํ ์ด๋ธ๋ทฐ์๋ง cornerRadius ์ ์ฉ์ด ๋๊ณ ์๊ธฐ ๋๋ฌธ์
cell์๋ cornerRadius์ ์ฃผ๊ณ ์ถ์๋ ๊ฒ!
self
: ์ ์์ฒด๋ฅผ ์๋ฏธํ๋ค. ์ฆ, UITableViewCell ํด๋์ค์ ์ธ์คํด์ค์ด๋ค.
์ ์ ์ ์ฒด ์์ญ์ ๋ด๋นํ๋ฉฐ, ์ ์ ๋ฐฐ๊ฒฝ์, ๊ฒฝ๊ณ์ , ๊ทธ๋ฆผ์ ๋ฑ๊ณผ ๊ด๋ จ๋ ์์ฑ์ ์ค์ ํ ์ ์๋ค.
contentView
: ์ ์์ ์ค์ ๋ก ํ์๋๋ ์ฝํ ์ธ ๋ฅผ ๋ด๋ ๋ทฐ. ์ ์ ์ถ๊ฐํ๋ ๋ชจ๋ ์๋ธ๋ทฐ(๋ ์ด๋ธ, ์ด๋ฏธ์ง๋ทฐ ๋ฑ)๋ ์ด contentView ์์ ๋ฃ๋๋ค.
์ ์ ๋ ์ด์์์ ์ํฅ์ ์ฃผ์ง ์๊ณ , ์ฝํ ์ธ ์ ๋ ์ด์์์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
์ฆ, self๋ ์ ์ ์ ์ฒด ์์ญ, contentView๋ ์ ์์ ์ฝํ ์ธ ๋ฅผ ๋ด๋ ๋ทฐ.
self๋ ํ ๋๋ฆฌ, ๊ทธ๋ฆผ์, ๋ฐฐ๊ฒฝ ์ฒ๋ฆฌ์ ์ฃผ๋ก ์ฐ์ด๊ณ , contentView๋ ์ค์ ์ฝํ ์ธ ๋ฐฐ์น์ ์ฐ์ธ๋ค.
๊ทธ๋ผ ์ด๋ฏธ์ง๊ฐ cornerRadius์ ๋ง๊ฒ ์๋ฆฌ๊ฒ ํ๊ณ ์ถ์๋ฐ???
masksToBounds
: CALayer์ ์์ฑ์ผ๋ก, ์ด ๋ ์ด์ด์ ๊ฒฝ๊ณ ๋ฐ์ผ๋ก ๋๊ฐ๋ ๋ชจ๋ ์๋ธ ๋ ์ด์ด๋ฅผ ์๋ผ๋ด๋ ์ญํ ์ ํ๋ค.
์ฆ, ๋ ์ด์ด์ ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋ ๋ชจ๋ ์๋ธ๋ทฐ๋ ์๋ธ ๋ ์ด์ด๋ค์ด ๋ณด์ด์ง ์๋๋ก ์๋ฅธ๋ค.
cornerRadius์ ์ค์ ํ์ ๋, ์ฝ๋ ๋ฐ์ผ๋ก ๋๊ฐ๋ ์๋ธ๋ทฐ๋ ๊ทธ๋ฆผ์๋ฅผ ์๋ฅผ ์ ์๋ค.
์ด ์์ฑ์ด true์ผ ๋ ๋ ์ด์ด์ cornerRadius๊ฐ ์ ์ฉ๋์ง๋ง, ๊ทธ๋ฆผ์(shadow)๋ ์๋ฆฐ๋ค.
clipsToBounds
: UIView์ ์์ฑ์ผ๋ก, ํด๋น ๋ทฐ์ ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋ ์๋ธ๋ทฐ๋ฅผ ์๋ผ๋ด๋ ์ญํ ์ ํ๋ค.
๋ทฐ๊ฐ ๊ฐ์ง ์๋ธ๋ทฐ๋ค์ด ๊ทธ ๋ทฐ์ ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋ ๊ฒฝ์ฐ, ํด๋น ์์ญ์ ํ์ํ์ง ์๊ฒ ํ๋ ๊ธฐ๋ฅ์ ํ๋ค.
masksToBounds์ ์ ์ฌํ ์ญํ ์ ํ์ง๋ง, ์ฃผ๋ก UIView์ ๋ ์ด์์๊ณผ ๊ด๋ จ์ด ์๋ค.
๊ทผ๋ฐ, ์ ๋ ๋ค ํ์ํ๊ฐ?
masksToBounds = true
: ๋ ์ด์ด ์์ค์์ ์ ์ ๊ฒฝ๊ณ ๋ฐ์ผ๋ก ๋๊ฐ๋ ์ฝํ ์ธ ๋ฅผ ์๋ผ๋ด๋ ์ญํ ์ ํ๋ค.
๋ฅ๊ทผ ๋ชจ์๋ฆฌ๋ฅผ ์ ์ฉํ์ ๋, ๊ทธ ์ธ๋ถ ์์ญ์ผ๋ก ๋๊ฐ๋ ์์๋ค์ ์๋ฅผ ์ ์๋ค.
clipsToBounds = true
: ์ ์ ์๋ธ๋ทฐ๊ฐ ๋ทฐ์ ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋๋ ๊ฒ์ ์ ์ดํ.
์ ์์ contentView๋ ๋ค๋ฅธ ๋ทฐ๊ฐ ์ ๊ฒฝ๊ณ ๋ฐ์ผ๋ก ๋๊ฐ๋ ๊ฒ์ ๋ง๋๋ค.