๋ถ€๋ถ„์ ์œผ๋กœ rounding ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

Answer

view.layer.masksToBounds = true
view.layer.cornerRadius = 10
view.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]

๋™์ž‘์€ ๊ฐ„๋‹จํ•˜๋‹ค. ๋‹ค๋งŒ, ์ด๊ฑธ ์–ด๋–ป๊ฒŒ ์ผ๋ฐ˜ํ™”ํ•˜์—ฌ ์ ์šฉํ•˜๊ณ  ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค๊นŒ๊ฐ€ ๋” ์–ด๋ ค์šด ์งˆ๋ฌธ์ด๋‹ค. ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๋“ค์— ๋Œ€ํ•ด์„œ๋งŒ ์ ์–ด๋‘๊ฒ ๋‹ค. ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์‹ค์ œ๋กœ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•˜์ž.

  1. corner์˜ ์œ„์น˜(์™ผ์œ„, ์˜ค์œ„, ์™ผ์•„๋ž˜, ์˜ค์•„๋ž˜)์™€ ๊ทธ ์ •๋„(๋ฐ˜์ง€๋ฆ„)์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    • ์ฆ‰, ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋‹จ์ˆœํžˆ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์€ ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ๊ทธ๋ฆฌ ์ข‹์ง€ ๋ชปํ•˜๋‹ค.
    • ์—ฐ๊ด€๋œ ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์บก์Šํ™”๋ฅผ ํ•ด์„œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ๋” ์ข‹๋‹ค.
  2. ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•  ๋•Œ๋Š” .layerMinXMinYCorner์™€ ๊ฐ™์ด ์•ˆ์ฝํžˆ๋Š” ๊ฐ’ ๋ง๊ณ  ์ง๊ด€์ ์ธ ๋‹ค๋ฅธ ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค.
    • UIRectCorner๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž.
  3. 1์„ ์ ์šฉํ–ˆ๋‹ค๋ฉด ๊ฒฐ๊ตญ ์ด๋Ÿฌํ•œ ๊ฐ’์„ ๋‚ด๋ถ€์ ์œผ๋กœ view์— ์ ์šฉํ•  ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค.
    • 1์˜ ๊ตฌ์กฐ์ฒด์—์„œ view๋ฅผ ์™ธ๋ถ€์—์„œ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.
  4. ์‹ค์ œ๋กœ ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•  ์‹œ UIView์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ ๋ง๊ณ  ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
    • ์—ฐ์‚ฐ์ž ์ •์˜

์—ฌ๊ธฐ๊นŒ์ง€ ๋งํ•ด์คฌ์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€? ๋‚ด ์ปดํ“จํ„ฐ .md๋ฅผ ์ฐพ์•„๋ณผ ๊ฒƒ

Reference