大佬教程收集整理的这篇文章主要介绍了Swift String to UIColor (支持3,4,6,8长度的16进制颜色值),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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 { | |
:relative; vertical-align:top; font-family:Consolas,missing '#' as prefix") | |
} | |
self.init(red:red,green:green,blue:blue,alpha:alpha) | |
} | |
} |
以上是大佬教程为你收集整理的Swift String to UIColor (支持3,4,6,8长度的16进制颜色值)全部内容,希望文章能够帮你解决Swift String to UIColor (支持3,4,6,8长度的16进制颜色值)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。