반응형
UIColor
주로 UIColor를 생성 시 컬러를 지정하는 방법은
Red, Greed, Blue로 0~255까지의 숫자로 표현하는
RGB컬러를 사용합니다.
UIColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
보통 인터넷에서 색상을 찾을 때
RGB컬러대신 Hex Code Color로 주로 표기가 돼있는데요.
여기서 Hex Color Code란?
RGB 방식의 색상 코드 표기법입니다.
# 뒤에 붙는 여섯 자리 혹은 세 자리 숫자로 색상을 표기하는 방식이죠.
6자리인 경우 두 자리씩 끊어서 각각 Red, Green, Blue를 나타낸다고 하네요.
자세한 건 패스...
UIColor Extenstion
기존 UIColor 사용 시, 마음에 드는 색상을 찾아보면 Hex Color로 돼있어서
매번 Hex Convertor 를 통해 RGB 컬러로 바꾼 후 사용했었는데...
UIColor 익스텐션을 만들어서
손쉽게 Hex Color를 변환시켜 사용하는 코드가 있어서 공유드립니다.
extension UIColor {
convenience init(hexCode: String, alpha: CGFloat = 1.0) {
var hexFormatted: String = hexCode.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).uppercased()
if hexFormatted.hasPrefix("#") {
hexFormatted = String(hexFormatted.dropFirst())
}
assert(hexFormatted.count == 6, "Invalid hex code used.")
var rgbValue: UInt64 = 0
Scanner(string: hexFormatted).scanHexInt64(&rgbValue)
self.init(red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
alpha: alpha)
}
}
사용 시
UIColor(hexCode: "8FCB9B")
반응형
'UIKit > Cheat Sheet' 카테고리의 다른 글
[iOS/Swift] plist의 값 얻는 방법 및 Github에서 중요한 정보 숨기는 방법(API Key, Bundle, gitignore) (0) | 2023.02.10 |
---|---|
[iOS/Swift] 개발 환경에 따라 각각의 다른 plist의 저장된 API Key 값 받아오기 (0) | 2023.02.10 |
[iOS/Swift] 상태창(StatusBar) 색상 변경 방법 (시계, 배터리...색) (0) | 2023.02.05 |
[iOS/Swift] UIKit에서 스토리보드 없이 코드로 작성 시 SwiftUI의 캔버스(미리보기, Preview)를 적용하는 방법 (0) | 2023.01.10 |
[iOS/Swift] Custom delegate 패턴 (0) | 2022.12.24 |