๋ฐ์ํ
insetBy(dx:dy)
- Core Graphic์ CGRect์ ์ธ์คํด์ค ๋ฉ์๋
- offset์ด point๋ผ๋ฉด inset์ ์ฌ์ด์ฆ๊ฐ ์๋ ๊ณต๊ฐ. ์์ชฝ์ผ๋ก ๋ง์ง์ ์ค
- ์ค์์ ์ ๊ธฐ์ค์ผ๋ก dx, dy ๊ฐ์ ํตํด ์กฐ์ ๋, ์๋ณธ ์ง์ฌ๊ฐํ ๋ณด๋ค ๋ ํฌ๊ฑฐ๋ ๋ ์์ ์ฌ๊ฐํ์ ๋ฐํ
Parameters
dx
- x ์ขํ ๊ฐ
- ์๋ณธ ์ง์ฌ๊ฐํ ๋ณด๋ค ํฌ๊ฒ ๋ง๋ค๋ ค๋ฉด ์์๋ฅผ, ๋ ์๊ฒ ๋ง๋ค๋ ค๋ฉด ์์๋ฅผ ์ง์ ํจ
dy
- y ์ขํ ๊ฐ
- ์๋ณธ ์ง์ฌ๊ฐํ ๋ณด๋ค ํฌ๊ฒ ๋ง๋ค๋ ค๋ฉด ์์๋ฅผ, ๋ ์๊ฒ ๋ง๋ค๋ ค๋ฉด ์์๋ฅผ ์ง์ ํจ
์์
newView.bounds = originalView.bounds.insetBy(dx: 20, dy: 0)
inset by ์ : (0.0, 0.0, 100.0, 40.0)
inset by ํ : (20.0, 0.0, 60.0, 40.0)
- 100์ด์๋ ์ฌ๊ฐํ์ dx๋ฅผ 20์ผ๋ก ์ฃผ๋ฉด ์์ชฝ์ผ๋ก 20 ์ฉ ์ค์ด๋ 60 ๋ฐํ
- ์์๋ ์๋ณธ ์ฌ๊ฐํ๋ณด๋ค ๋ ์์ ์ฌ๊ฐํ์ ๋ฐํ ๋ฐ์
newView.bounds = originalView.bounds.insetBy(dx: -10, dy: 0)
inset by ์ : (0.0, 0.0, 100.0, 40.0)
inset by ํ : (-10.0, 0.0, 120.0, 40.0)
- 100 ์ด์๋ ์ฌ๊ฐํ์ dx์ ๊ฐ์ -10 ์ฃผ๋ฉด ์์ชฝ ๊ฐ 10 ์ฉ ๋์ด๋ 120 ์ฌ๊ฐํ์ ๋ฐํ
- ์์๋ ์๋ณธ ์ฌ๊ฐํ ๋ณด๋ค ๋ ํฐ ์ฌ๊ฐํ์ ๋ฐํํจ
- ์ง์ ํ ๊ฐ์ผ๋ก ์ ์ชฝ์ด ๋์ด๋๊ฑฐ๋ ์ค์ด๋ฌ
- new width = (-dx * 2) + original width
newView.bounds = originalView.bounds.insetBy(dx: 0, dy: -20)
inset by ์ : (0.0, 0.0, 100.0, 40.0)
inset by ํ : (0.0, -20.0, 100.0, 80.0)
- dy ๋ํ dx์ ๋์ผํ๊ฒ ์์์ ๊ฐ์ ์๋ณธ๋ณด๋ค ๋ ํฐ ์ฌ๊ฐํ์ ๋ฐํํจ.
- -20 ์ด๋ฏ๋ก ์ ์๋ ๋์ผํ๊ฒ 20 ์ฉ ์ปค์ ธ ์๋ณธ ๋์ด 40 ์์ 40 ์ปค์ง 80์ด ๋ฐํ๋จ
- bounds ๋ํ ๋ณ๊ฒฝ๋ ๊ฒ์ ํ์ธ ํ ์ ์์
- new height = (-dy * 2) + original height
newView.bounds = originalView.bounds.insetBy(dx: -20, dy: -20)
inset by ์ : (0.0, 0.0, 100.0, 40.0)
inset by ํ : (-20.0, -20.0, 140.0, 80.0)
- ์ ์๋ ์ค๋ฅธ์ชฝ ์ผ์ชฝ์ด 20 ์ฉ ์ฆ๊ฐํ์ฌ ์๋ณธ ์ฌ๊ฐํ ๋ณด๋ค ๋ ํฐ ์ฌ๊ฐํ์ ๋ฐํํจ
์ฐธ๊ณ ์ฌ์ดํธ ๋ฐ ๋์
- ๋ฌธ์ ๊ฐ ์๊ฑฐ๋ ์ด์ํ ์ ์ด ์๋ค๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค! ๋ด์ฉ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ฎ๊ธฐ์ค ๋ ๊ผญ ์ถ์ฒ ๋จ๊ฒจ ์ฃผ์ธ์
728x90
๋ฐ์ํ
๋๊ธ