import UIKit
//swift中是用extension来进行拓展
extension UIColor{
// MARK:- 把#ffffff颜色转为UIColor
class func color(hex:String)->UIColor{
var cString = hex.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).uppercased()
if (cString.hasPrefix("#")) {
let index = cString.index(cString.startIndex, offsetBy:1)
cString = cString.substring(from: index)
}
if (cString.characters.count != 6) {
return UIColor.red
}
let rIndex = cString.index(cString.startIndex, offsetBy: 2)
let rString = cString.substring(to: rIndex)
let otherString = cString.substring(from: rIndex)
let gIndex = otherString.index(otherString.startIndex, offsetBy: 2)
let gString = otherString.substring(to: gIndex)
let bIndex = cString.index(cString.endIndex, offsetBy: -2)
let bString = cString.substring(from: bIndex)
var r:CUnsignedInt = 0, g:CUnsignedInt = 0, b:CUnsignedInt = 0;
Scanner(string: rString).scanHexInt32(&r)
Scanner(string: gString).scanHexInt32(&g)
Scanner(string: bString).scanHexInt32(&b)
return UIColor(red: CGFloat(r) / 255.0, green: CGFloat(g) / 255.0, blue: CGFloat(b) / 255.0, alpha: CGFloat(1))
}
// MARK:- 把#ffffff颜色转为UIImage
class func creatImageWithColor(color: UIColor) -> UIImage {
let rect = CGRect(x: 0.0, y: 0.0, width: 1.0, height: 1.0)
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()
context!.setFillColor(color.cgColor)
context!.fill(rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}
}
网友评论