I'm trying to change a SwiftUI Color to an instance of UIColor.
I can easily get the RGBA from the UIColor, but I don't know how to get the "Color" instance to return the corresponding RGB and opacity values.
@EnvironmentObject var colorStore: ColorStore
init() {
let red = //get red value from colorStore.primaryThemeColor
let green = //get green value from colorStore.primaryThemeColor
let blue = //get blue value from colorStore.primaryThemeColor
let alpha = //get alpha value from colorStore.primaryThemeColor
let color = UIColor(red: red, green: green, blue: blue, alpha: alpha)
UINavigationBar.appearance().tintColor = color
}
...or maybe there is a better way to accomplish what I am looking for?
There is a new initializer that takes a Color
and returns a UIColor
for iOS or NSColor
for macOS now. So:
UIColor(Color.red)
NSColor(Color.red)
UIColor(Color.red).cgColor /* For iOS */
NSColor(Color.red).cgColor /* For macOS */
If you are looking for color components, you can find my helpful extensions here in this answer