//
//  UIColor+Ext.swift
//  PQSpeed
//
//  Created by SanW on 2020/5/25.
//  Copyright © 2020 BytesFlow. All rights reserved.
//

import Foundation
import UIKit

extension UIColor {
    public  class func hexColor(hexadecimal: String,alpha:CGFloat = 1) -> UIColor {
        var cstr = hexadecimal.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).uppercased() as NSString
        if cstr.length < 6 {
            return UIColor.clear
        }
        if cstr.hasPrefix("0X") {
            cstr = cstr.substring(from: 2) as NSString
        }
        if cstr.hasPrefix("#") {
            cstr = cstr.substring(from: 1) as NSString
        }
        if cstr.length != 6 {
            return UIColor.clear
        }
        var range = NSRange()
        range.location = 0
        range.length = 2
        // r
        let rStr = cstr.substring(with: range)
        // g
        range.location = 2
        let gStr = cstr.substring(with: range)
        // b
        range.location = 4
        let bStr = cstr.substring(with: range)
        var r: UInt32 = 0x0
        var g: UInt32 = 0x0
        var b: UInt32 = 0x0
        Scanner(string: rStr).scanHexInt32(&r)
        Scanner(string: gStr).scanHexInt32(&g)
        Scanner(string: bStr).scanHexInt32(&b)
        return UIColor(red: CGFloat(r) / 255.0, green: CGFloat(g) / 255.0, blue: CGFloat(b) / 255.0, alpha: alpha)
    }
}
