首页 > 代码库 > iOS 色值 转换 干货
iOS 色值 转换 干货
1、 整数RGB设置颜色
convenience init(red: Int, green: Int, blue: Int , alp: CGFloat = 1.0 ) { assert(red >= 0 && red <= 255, "Invalid red component") assert(green >= 0 && green <= 255, "Invalid green component") assert(blue >= 0 && blue <= 255, "Invalid blue component") self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: alp) }
2、16进制设置颜色
convenience init(hexInt: Int) { self.init(red:(hexInt >> 16) & 0xff, green:(hexInt >> 8) & 0xff, blue:hexInt & 0xff) }
3、字符串设置颜色
convenience init(hexString: String) { var hexStr = hexString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet() as NSCharacterSet).uppercaseString if (hexStr.hasPrefix("#")) { hexStr = hexStr.substringFromIndex(hexStr.startIndex.advancedBy(1)) } var hexInt: UInt32 = 0 NSScanner(string: hexStr).scanHexInt(&hexInt) self.init(red: Int((hexInt >> 16) & 0xff), green: Int((hexInt >> 8) & 0xff), blue: Int(hexInt & 0xff)) }}
整个封装:
extension UIColor { // RGB整数设置颜色 convenience init(red: Int, green: Int, blue: Int , alp: CGFloat = 1.0 ) { assert(red >= 0 && red <= 255, "Invalid red component") assert(green >= 0 && green <= 255, "Invalid green component") assert(blue >= 0 && blue <= 255, "Invalid blue component") self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: alp) } // 16进制设置颜色 convenience init(hexInt: Int) { self.init(red:(hexInt >> 16) & 0xff, green:(hexInt >> 8) & 0xff, blue:hexInt & 0xff) } // 字符串设置颜色 convenience init(hexString: String) { var hexStr = hexString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet() as NSCharacterSet).uppercaseString if (hexStr.hasPrefix("#")) { hexStr = hexStr.substringFromIndex(hexStr.startIndex.advancedBy(1)) } var hexInt: UInt32 = 0 NSScanner(string: hexStr).scanHexInt(&hexInt) self.init(red: Int((hexInt >> 16) & 0xff), green: Int((hexInt >> 8) & 0xff), blue: Int(hexInt & 0xff)) }}
应用:
UIColor(red: 253, green: 77, blue: 79)UIColor(red: 253, green: 77, blue: 79, alp: 0.9)UIColor(hexString: "#A94442")UIColor(hexString: "#DCA7A7")UIColor(hexInt: 0xdcdcdc)UIColor(hexInt: 0xdcdaaa)
iOS 色值 转换 干货
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。