Danny의 iOS 컨닝페이퍼
article thumbnail

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")

 

 

반응형
profile

Danny의 iOS 컨닝페이퍼

@Danny's iOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!