반응형
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)
}
}반응형
'Dev Study > SwiftUI' 카테고리의 다른 글
| SwiftUI 전용 개발을 위한 최적의 iOS Deploy Target 가이드(25년 기준) (0) | 2025.11.10 |
|---|---|
| SwiftUI + UIKit 혼합 아키텍처 실전 가이드 (0) | 2025.11.10 |
| foregroundColor vs tint (0) | 2023.10.28 |
| SwiftUI 아이폰 회전시 Landscape, Portrait 이벤트 (0) | 2023.10.24 |
| SwiftUI + UIKit (0) | 2023.05.10 |
| Using TimelineView and Canvas in SwiftUI (0) | 2022.01.27 |
| Understanding Data Flow in SwiftUI (0) | 2021.01.05 |
| How to Create a Neumorphic Design With SwiftUI (1) | 2020.06.01 |

