๐๏ธ๐จย ์๋
ํ์ธ์, ์ด์์
๋๋ค! ์ด๋ฒ ์๊ฐ์๋ SwiftUI์์ Color
๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํด์.
SwiftUI์์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก Color๋ฅผ ์ค์ ํ ์ ์์ด์. ๊ธฐ๋ณธ์ ์ผ๋ก๋ Color ๊ตฌ์กฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ ์์์ ์ ํํ๊ฑฐ๋, ์ฌ์ฉ์ ์ ์ ์์์ ๋ง๋ค ์ ์์ด์. ๋ํ SwiftUI๋ ๋คํฌ ๋ชจ๋์ ๊ฐ์ ํ ๋ง ๋ณํ์ ์๋์ผ๋ก ๋์ํ๋ฏ๋ก ์ฑ์ ์ธ๊ด์ ์ ์ฐํ๊ฒ ์กฐ์ ํ ์ ์์ด์ ์ด๋ฒ ํฌ์คํธ์์๋ ์ด๋ฌํ ๋ค์ํ Color ๊ด๋ จ ๊ธฐ๋ฅ์ ๋ํด์ ์ดํด๋ณผ๊ฒ์.
Color ๊ตฌ์กฐ์ฒด๋ ์ต์คํ ์ (extension)์ ํตํด ์๋์ ๊ฐ์ ๊ธฐ๋ณธ ์์๋ค์ ์ ๊ณตํ๊ณ ์์ด์. ์๋์ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ด๋ ํ ์์๋ค์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๊ณ ์๋์ง ๊ฐ๋ณ๊ฒ ์ดํด๋ณด์ธ์.
์ฐ๋ฆฌ๋ ์์์ ์ ๊ณตํ๋ ์ปฌ๋ฌ๋ฅผ ํตํด ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ด์. ์๋ฅผ ๋ค์ด ๋ํ์ ์์์ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ์๋์ ๊ฐ์ด ์ค์ ํ ์ ์์ด์.
RoundedRectangle(cornerRadius: 20)
.fill(.blue)
.frame(width: 100, height: 100)
๐กย fill ๋ฉ์๋๋ฅผ ํตํด Color๋ฅผ ์ ๋ฌํ ์ ์๋ ์ด์ ๋ fill(_:style:)
๋ฉ์๋๋ฅผ ํ์ธํด๋ณด๋ฉด ์ ์ ์์ด์. content๊ฐ ์ ๋ค๋ฆญ S
๋ฅผ ๋ฐ๊ณ ์๋๋ฐ, S๋ ShapeStyle
ํ๋กํ ์ฝ์ ์ฑํํ๊ณ ์์ด์ผ ํ๋ค๋ ์ ์ฝ์ฌํญ์ด ์์ด์. ์ด ๋ Color
๋ ShapeStyle ํ๋กํ ์ฝ์ ์ฑํํ๊ณ ์์ด ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ฑฐ์์.
Color(red:green:blue:)
๋ SwiftUI์์ ์ฌ์ฉํ๋ Color(์์)๋ฅผ ์์ฑํ๋ ์์ฑ์(constructor) ์ค ํ๋์์. ์ด ์์ฑ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ง์ ์์์ ๋ง๋ค ์ ์์ด์.
red
, green
, blue
๋ 0์์ 1 ์ฌ์ด์ ๋ถ๋ ์์์ ๊ฐ์ผ๋ก ์์์ ์ ์ํด์. ์ด ๊ฐ๋ค์ ๊ฐ๊ฐ ๋นจ๊ฐ์, ๋
น์ ๋ฐ ํ๋์ ์ฑ๋์ ๊ฐ๋๋ฅผ ๋ํ๋ด์.Color(red: 1.0, green: 0.0, blue: 0.0)
์ ์์ ํ ๋นจ๊ฐ์์ ๋ํ๋ด์.RoundedRectangle(cornerRadius: 20)
.fill(Color(red: 0.5, green: 0.4, blue: 0.6))
.frame(width: 100, height: 100)
Assets.xcassets์์ ์์์ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ ๋ํ ์์ด์. ํด๋น ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด, ์ฑ์ ์์์ ํ๋ก์ ํธ ์์ฒด์์ ๊ด๋ฆฌํ๊ณ ์ฌ์ฌ์ฉ์ฑ์ ๋์ผ ์ ์์ด ์ถ์ฒํ๋ ๋ฐฉ๋ฒ์ด์์. Color Set์ ์ค์ ํ๋ฉด ๋คํฌ ๋ชจ๋ ์์ ๋ํ ์ค์ ํ ์ ์์ด์.
New Color Set
์ ํด๋ฆญํด์ฃผ์ธ์.Any Appearance
๋ฅผ ์ ํํด์ฃผ์ธ์.sRGB
๋ก ์ ํํด์ฃผ์๊ณ HEX
๋ถ๋ถ์ ์ํ๋ ์์ ์ปฌ๋ฌ๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.Dark
๋ ๋์ผํ๊ฒ ์ํ๋ ์ปฌ๋ฌ๋ก ์ค์ ํด์ค์.
์ด์ ์ฐ๋ฆฌ๊ฐ ์ ์ํ ์์์ ์ฌ์ฉํ ์ค๋น๊ฐ ์๋ฃ๋์์ด์!
์ด์ ์ฐ๋ฆฌ๊ฐ ์ ์ํ ์์ ์ด๋ฆ์ Color ์์ฑ์์ ์ธ์๋ก ๋๊ฒจ์ฃผ๋ฉด ๋ผ์๐.
RoundedRectangle(cornerRadius: 20)
.fill(Color("MyColor"))
.frame(width: 100, height: 100)
๋ผ์ดํธ ๋ชจ๋์ ๋คํฌ ๋ชจ๋์์ ๋ชจ๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ํ ์์์ด ๋ฐ์๋๋ ๊ฒ์ ํ์ธํ ์ ์์ด์.
๐ก ์๋ฎฌ๋ ์ดํฐ ๋คํฌ๋ชจ๋ ์ ํ ๋ฐฉ๋ฒ: Commnad
+ Shift
+ A
๐ก SwiftUI Preview์์ ๋คํฌ๋ชจ๋ ์ ํ ๋ฐฉ๋ฒ
.preferredColorScheme(.dark)
์ด๋ฒ ํฌ์คํธ์์๋ ๊ธฐ๋ณธ ์์์ ์ฌ์ฉํ๊ณ ์ฌ์ฉ์ ์ ์ ์์ ๊ทธ๋ฆฌ๊ณ ๋คํฌ๋ชจ๋์ ๋์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์์ด์. ์ถ๊ฐ๋ก ๋คํฌ ๋ชจ๋๋ก ์ ํํ๋ ๋ค์ํ ๊ฟํ๋ค๊น์ง ์์ฑํด ๋์์ผ๋ ์ ์ฐธ๊ณ ํ์์ด ๊ฐ๋ฐ์ ๋ง์ ๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋ผ์ ๐!