SwiftUI/Controls & Tips
SwiftUI Color Hex 값으로 생성하기
까칠코더
2023. 10. 8. 12:34
반응형
SwiftUI 에서 Color 생성할때 Hex 값을 사용해서 생성하는 방법은 다음과 같습니다.
import SwiftUI
extension Color {
/**
헥사코드 색상값과 불투명도 값으로 Color 생성
```
// How to use
Color(0x000000, opacity: 0.2) // 검정색 투명도 20%
```
- Parameter hex: 헥사코드 값
- Parameter opacity: 불투명도 (0.0 ~ 1.0) (default = 1.0)
*/
init(_ hex: Int, opacity: Double = 1.0) {
let red = Double((hex >> 16) & 0xff) / 255
let green = Double((hex >> 8) & 0xff) / 255
let blue = Double((hex >> 0) & 0xff) / 255
self.init(.sRGB, red: red, green: green, blue: blue, opacity: opacity)
}
}
참고로 UIKit의 UIColor에서는 다음과 같은 방법을 사용합니다.
extension UIColor {
/**
헥사코드 색상값과 알파값으로 UIColor 생성
```
// How to use
UIColor(0x000000, alpha: 0.2) // 검정색 투명도 20%
```
- Parameter hex: 헥사코드 값
- Parameter alpha: 알파값 (0.0 ~ 1.0) (default = 1.0)
*/
convenience init(_ hex: Int, alpha: CGFloat = 1.0) {
let components = (
R: CGFloat((hex >> 16) & 0xff) / 255,
G: CGFloat((hex >> 08) & 0xff) / 255,
B: CGFloat((hex >> 00) & 0xff) / 255
)
self.init(red: components.R, green: components.G, blue: components.B, alpha: alpha)
}
}
반응형