extension UIColor {
    
    convenience init(hex: String, alpha: CGFloat = 1) {
        let scanner = NSScanner(string: hex)
        scanner.charactersToBeSkipped = NSCharacterSet(charactersInString: "#")
        var hexInt: UInt32 = 0
        
        if scanner.scanHexInt(&hexInt) {
            if hex.characters.count < 6 {
                let red   = CGFloat((hexInt & 0xF00) >> 8) / 15.0
                let green = CGFloat((hexInt & 0x0F0) >> 4) / 15.0
                let blue  = CGFloat( hexInt & 0x00F)       / 15.0
                self.init(red: red, green: green, blue: blue, alpha: alpha)
            } else {
                let red   = CGFloat((hexInt & 0xFF0000) >> 16) / 255.0
                let green = CGFloat((hexInt & 0x00FF00) >> 8)  / 255.0
                let blue  = CGFloat( hexInt & 0x0000FF)        / 255.0
                self.init(red: red, green: green, blue: blue, alpha: alpha)
            }
        } else {
            print("UIColor Error: Scan hex error -> returning ClearColor")
            self.init(white: 0.0, alpha: 0.0)
        }
    }
    
}