import UIKit | |
extension UIColor { | |
public convenience init(rgba: String) { | |
var red: CGFloat = 0.0 | |
var green: CGFloat 0 | |
var blue: CGFloat 0 | |
var alpha: CGFloat 10 | |
if rgba.hasPrefix("#") { | |
let index = advance(rgba.startIndex,1) | |
let hex = rgba.substringFromIndex(index) | |
let scanner = NSScanner(string: hex) | |
var hexValue: CUnsignedLongLong = 0 | |
if scanner.scanHexLongLong(&hexValue) { | |
switch (count(hex)) { | |
case 3: | |
red = CGFloat((hexValue & 0xF00) >> 8) / 150 | |
green & 0x0F0) 4) 0 | |
blue = CGFloat(hexValue & 0x00F) 0 | |
4: | |
& 0xF000) 12) 0 | |
& 0x0F00) 0 | |
& 0x00F0) 0 | |
alpha & 0x000F) 0 | |
6: | |
& 0xFF0000) 16) 2550 | |
& 0x00FF00) 0 | |
& 0x0000FF) 0 | |
8: | |
& 0xFF000000) 24) 0 | |
& 0x00FF0000) 0 | |
& 0x0000FF00) 0 | |
& 0x000000FF) 0 | |
default: | |
print("Invalid RGB string,number of characters after '#' should be either 3,4,6 or 8") | |
} | |
} else { | |
println("Scan hex error") | |
} | |
else { | |
") | |
} | |
self.init(red:red,green:green,blue:blue,alpha:alpha) | |
} | |
} |
原文地址:https://www.jb51.cc/swift/326506.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。