SwiftUI
drawingGroup()
view๋ฅผ ๋ ๋๋ง ํ๊ธฐ ์ ์ view์ ํ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ค์ด ๋ฉ์ํด์ง๊ฒ ๋ง๋ญ๋๋ค.
โข
drawingGroup() modifer๋ ์ต์ข
ํ์ ์ ์ ๋ทฐ์ ๋ด์ฉ์ offscreen ์ด๋ฏธ์ง๋ก ๊ฒฐํฉํฉ๋๋ค.
โฆ
offscreen ๊ตฌ์ฑ์ ์ ํ์ ๊ณ ์ฑ๋ฅ ๊ทธ๋ํฝ ํ๋ ์์ํฌ์ธ Metal์ ์ฌ์ฉํ์ฌ ๋ณต์กํ View๋ฅผ ๋ ๋๋งํ๋๋ฐ ์์ด ์ธ์์ ์ผ๋ก ์๋๋ฅผ ํฅ์์์ผฐ์ต๋๋ค.
โฆ
๋ง์ ์์ gradient, shadow ๋ฐ ๊ธฐํ ํจ๊ณผ๋ฅผ ์ฌ์ฉํ๋ค๋ณด๋ฉด ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ํฌ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ด๋๋ drawingGroup()์ ์๊ฐํ์ธ์.!
โฆ
view์ ๋ด์ฉ์ ๋จ์ผ ๋นํธ๋งต์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋นํธ๋งต์ ๋ทฐ ๋์ ์ ํํ ๋ฉ๋๋ค.
Off-Screen Rendering
๋นํธ๋งต ๋ฐฉ์
Metal
VStack {
ZStack {
Text("DrawingGroup")
.foregroundColor(.black)
.padding(20)
.background(Color.red)
Text("DrawingGroup")
.blur(radius: 2)
}
.font(.largeTitle)
.compositingGroup()
.opacity(1.0)
}
.background(Color.white)
.drawingGroup()
Swift
๋ณต์ฌ



