swift-UIColor轉(zhuǎn)16進(jìn)制顏色

extension UIColor { 

    class func RGBColor(r :CGFloat, g :CGFloat, b :CGFloat, a :CGFloat) -> UIColor {
        return UIColor(red: r/255.0, green: g/255.0, blue: b/255.0, alpha: a)
    }
    
    class func HexColor(hex: UInt) -> (UIColor) {
        let r = (CGFloat)((hex >> 16) & 0xFF)
        let g = (CGFloat)((hex >> 8) & 0xFF)
        let b = (CGFloat)((hex) & 0xFF)
        return RGBColor(r: r, g: g, b: b, a: 1)
    }
    
    class func HexColor(hexStr: String) -> UIColor{
        var red:UInt32 = 0, green:UInt32 = 0, blue:UInt32 = 0
        var prefixCount = 0
        
        if hexStr.hasPrefix("0x") || hexStr.hasPrefix("0X") {
            prefixCount = 2
        }
        if hexStr.hasPrefix("#") {
            prefixCount = 1
        }
        // subString擴(kuò)展方法請(qǐng)看下文
        let subStrR = hexStr.subString(from: (0+prefixCount), length: 2) 
        let subStrG = hexStr.subString(from: (2+prefixCount), length: 2)
        let subStrB = hexStr.subString(from: (4+prefixCount), length: 2)
        
        Scanner(string: subStrR).scanHexInt32(&red)
        Scanner(string: subStrG).scanHexInt32(&green)
        Scanner(string: subStrB).scanHexInt32(&blue)
        
        return UIColor.RGBColor(r: CGFloat(red), g: CGFloat(green), b: CGFloat(blue), a: 1.0)
        
    }
}

一個(gè)截取字符串的擴(kuò)展

extension String {
//MARK: - 字符串截取(從0開始計(jì)數(shù))
    func subString(from: Int, length: Int) -> String {
        if (from >= 0) && (length>0) && (self.characters.count>=(from+length)){
            let start = self.index(self.startIndex, offsetBy: from)
            let len = self.index(start, offsetBy: length-1)
            let subStr = self[start...len]
            return subStr
        }
        XGLog(message: "字符串截取越界!")
        return ""
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift學(xué)習(xí)有問必答群 : 313838956 ( mac版QQ有權(quán)限要求, 入群只能通過手機(jī)版 QQ申請(qǐng)...
    Guards翻譯組閱讀 6,939評(píng)論 9 13
  • 一個(gè)字符串 是一系列字符的集合,例如hello, world和albatross。Swift的字符串是String...
    BoomLee閱讀 2,525評(píng)論 0 3
  • String是例如"hello, world","albatross"這樣的有序的Character(字符)類型的...
    窮人家的孩紙閱讀 909評(píng)論 2 1
  • 我們那個(gè)年代初中畢業(yè)的時(shí)候還流行寫同學(xué)錄,在手機(jī)還沒有人人普及,翻墻去網(wǎng)吧就為了聊QQ的年代,似乎離別就是永遠(yuǎn),于...
    寶木大仙閱讀 393評(píng)論 0 1
  • 今天本該大腿骨折岳父做手術(shù)的,但早上醫(yī)生來檢查后說:“血氧度不夠,外加老人腿部有動(dòng)脈栓塞,做不了手術(shù),必須要在調(diào)養(yǎng)...
    黑白無(wú)閱讀 683評(píng)論 7 5

友情鏈接更多精彩內(nèi)容