swift-16进制颜色
来源:互联网 发布:js代码反混淆工具 编辑:程序博客网 时间:2024/06/14 04:06
func colorWithHexString(hexColor :String) -> UIColor {
if hexColor.isEmpty {
returnUIColor.clear
}
var cString = hexColor.trimmingCharacters(in:NSCharacterSet.whitespacesAndNewlines)
// String should be 6 or 8 characters
if cString.characters.count <6 {
returnUIColor.clear
}
// strip 0X if it appears
if cString.hasPrefix("0X")|| cString.hasPrefix("0x") {
cString.remove(at: cString.startIndex)
cString.remove(at: cString.startIndex)
}
if cString.hasPrefix("#") {
cString.remove(at: cString.startIndex)
}
if cString.characters.count !=6 {
returnUIColor.clear
}
let rRange = cString.startIndex ..< cString.index(cString.startIndex, offsetBy: 2)
let rString = cString.substring(with: rRange)
let gRange = cString.index(cString.startIndex, offsetBy:2) ..< cString.index(cString.startIndex, offsetBy:4)
let gString = cString.substring(with: gRange)
let bRange = cString.index(cString.startIndex, offsetBy:4) ..< cString.index(cString.startIndex, offsetBy:6)
let bString = cString.substring(with: bRange)
var r :UInt32 = 0
var g :UInt32 = 0
var b :UInt32 = 0
let rScanner:Scanner =Scanner.localizedScanner(with: rString)as! Scanner
rScanner.scanHexInt32(&r)
let gScanner:Scanner =Scanner.localizedScanner(with: gString)as! Scanner
gScanner.scanHexInt32(&g)
let bScanner:Scanner =Scanner.localizedScanner(with: bString)as! Scanner
bScanner.scanHexInt32(&b)
let color =UIColor(red: CGFloat(r)/255.0, green:CGFloat(g)/255.0, blue:CGFloat(b)/255.0, alpha:1.0)
return color
}
- swift-16进制颜色
- swift 16进制颜色转换
- Swift String to UIColor(16进制字符串转颜色值)
- Swift String to UIColor (支持3,4,6,8长度的16进制颜色值)
- Swift - UIColor 16进制转换 及 获取RGB随机颜色
- iOS-swift-16进制颜色转换成RGB的例子
- 颜色16进制颜色代码表
- 16进制颜色
- swift 改变图片颜色
- swift 随机产生颜色
- 创建swift颜色类
- Swift开发:Swift 修改UISegmentedControl字体大小,颜色
- swift用RBG颜色设置自定义颜色
- 16进制颜色转换
- 16进制颜色 方法
- 16进制颜色对照
- 16进制颜色设定
- 16进制颜色转换
- Smali打印log简单代码
- 如何获取多个list集合的最大个数
- PHP函数之删除两个数组中相同的元素
- I/O复用及它们之间的区别
- uva11729(贪心,蓝书第2页)
- swift-16进制颜色
- bzoj2718/1143 CTSC2008 祭祀 最长反链
- MyEclipse中的Servers如何显示在控制台
- H5移动端知识点总结
- js异步加载的三种方式
- Android多线程编程
- 绝对值c++题解
- python栈
- 访问外部设备寄存器的方法