[Swift / iOS] Hex Color로 색 구현하기개발일지2025. 1. 20. 22:50
Table of Contents
문제
앱을 개발하면서, 앱의 시그니처 컬러로 정한 컬러를 넣어야 하는데,
컬러의 값이 Hex Color로 구현되어 있었다.
기존 RGB값을 넣어서는 구현이 가능하지만, Hex Color로 컬러를 사용하기 위해서는, RGB를 Hex Color로 변환해주는 과정이 필요하다.
Hex Color Code란?
RGB방식의 색상 코드 표기법.
#뒤에 오는 여섯자리 혹은 세자리 숫자로 색상을 표기하는 방식이다.
기존 RGB방식
기존에는 RGB값을 이런식으로 구현하였다.
view.backgroundColor = UIColor(red: 10/255, green: 25/255, blue: 38/255, alpha: 1)
이렇게 각각의 RGB값을 넣어서 색을 사용했는데,
우리는 이것을 Hex Color로 변환해서,
view.backgroundColor = UIColor(hexCode: "FFF7ED")
이렇게 Hex Color값으로 사용하는 것이 목표이다.
Hex Color Code로 변환
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)
}
}
위의 코드를 따로 extension으로 빼서, 사용하면 구현이 가능하다.
사용은 위에서 언급했듯,
view.backgroundColor = UIColor(hexCode: "FFF7ED")
이런식으로 사용하면 된다.
'개발일지' 카테고리의 다른 글
[Ting] UISearchBar, Custom Navigation Bar 구현 (0) | 2025.01.23 |
---|---|
Project Ting 기획 (0) | 2025.01.21 |
[UIKit / Swift / iOS] 디버깅을 해보자. (TableView가 보이지 않는 문제) (0) | 2025.01.10 |
[Github] 깃허브 default branch 변경 (0) | 2025.01.07 |
[Swift / iOS] 라이브러리에 관한 에러. (0) | 2025.01.06 |
@Quaker.Lee :: 개발하는 퀘이커
살아남는 iOS 개발자가 되기 위해 끊임없이 노력하고 있습니다.