swift 3.0 uicolor

import UIKit

extension UIColor {
    
     convenience init?(hexString: String) {
        self.init(hexString: hexString, alpha: 1.0)
    }
    
     convenience init?(hexString: String, alpha: Float) {
        let set = CharacterSet.whitespacesAndNewlines
        var hex = hexString.trimmingCharacters(in: set).uppercased()
        
        if hex.hasPrefix("#") {
            hex.remove(at: hex.startIndex)
        }
        
        guard let hexVal = Int(hex, radix: 16) else {
            self.init()
            return nil
        }
        
        switch hex.characters.count {
        case 3:
            self.init(hex3: hexVal, alpha: alpha)
        case 6:
            self.init(hex6: hexVal, alpha: alpha)
        default:
            self.init()
            return nil
        }
    }
    
    convenience init?(hexNumber: Int) {
        self.init(hexNumber: hexNumber, alpha: 1.0)
    }
    
    convenience init?(hexNumber: Int, alpha: Float) {
        guard (0x000000 ... 0xFFFFFF) ~= hexNumber else {
            self.init()
            return nil
        }
        self.init(hex6: hexNumber, alpha: alpha)
    }
}

private extension UIColor {
    convenience init?(hex3: Int, alpha: Float) {
        self.init(red:   CGFloat( ((hex3 & 0xF00) >> 8).duplicate4bits() ) / 255.0,
                  green: CGFloat( ((hex3 & 0x0F0) >> 4).duplicate4bits() ) / 255.0,
                  blue:  CGFloat( ((hex3 & 0x00F) >> 0).duplicate4bits() ) / 255.0,
                  alpha: CGFloat(alpha))
    }
    
    convenience init?(hex6: Int, alpha: Float) {
        self.init(red:   CGFloat( (hex6 & 0xFF0000) >> 16 ) / 255.0,
                  green: CGFloat( (hex6 & 0x00FF00) >> 8 ) / 255.0,
                  blue:  CGFloat( (hex6 & 0x0000FF) >> 0 ) / 255.0,
                  alpha: CGFloat(alpha))
    }
}

private extension Int {
    func duplicate4bits() -> Int {
        return (self << 4) + self
    }
}
喜欢阅读
  • 婚情不渝

    婚情不渝

    错爱渣男八年,却不知也被人爱了多年,离婚后某高冷男穷追不舍,顾小姐冷漠开口:“纪先生,我们不合适。”“我看挺合适的。”“哪里合适?”“哪哪都合适!生辰八字,五官看相,样样匹配!要不你说,哪里不合适?”顾小姐:“……”

  • 捡个将军好种田

    捡个将军好种田

    天才药剂师一朝穿越成为瘟神,婆婆不疼,姑姑作乱,还有各种奇葩邻居,没关系,斗!一场意外救了个猎户,两人联手一起发家致富,可渐渐她发现猎户身份比她想象的还不简单。

  • 重生之狂暴火法

    重生之狂暴火法

    带着200级三转大法师的记忆,陆阳重生回到了十年前,命运跟他开了一个玩笑,曾经失去过的,被夺走的,他都要重新拿回来。游戏中的赚钱技巧、副本攻略、传奇任务、装备出处、图纸秘方、战斗技巧他全都知道,且看一个重生玩家如何带着兄弟们横扫万国、焚尽天下,开启一段火神的传奇!

  • 爱如潮汐冰冷

    爱如潮汐冰冷

    “心里某个地方,那么亮,却那么冰凉……”为了心上的白月光,宇凌风害得白可欣痛失父母和孩子,逼着这个深爱他的女人,和着血泪将他从自己的骨血里剔除。当一切都失去后,宇凌风才发现……误会解开,那些曾经的伤害,是否还能弥补得回来?

  • 白领风云

    白领风云

    一次蹩脚的抢劫,把穷困潦倒初中毕业的张三宝推向了不一样的人生。“我要打造一个大大的江山,为了自己也为了自己的亲人”张三宝道。

  • 阴灵索命

    阴灵索命

    为了活下去,我选择了和阴灵交易……

  • 平行世界恋爱法

    平行世界恋爱法

    是末世啊!是末世啊!是末世啊!!!还是平行世界的末世!!倒霉的事要说三遍。没吃的身体发育不良没胸没屁股不说,还面黄肌瘦被整天辐射!Orz,这是要变异死的节奏啊……纳尼纳尼,这是辐射体质,不怕辐射?什么什么?辐射体质还会有超能力?(●—●)

  • 情债难偿夜夜缠

    情债难偿夜夜缠

    被人算计失去清白,遭自己教授强迫!为救儿子,她嫁给A市最恐怖的男人,高调举行世纪婚礼,本该恨她入骨的男人却步步逼婚,夜夜缠绵!霍教授说,“父债子还,情债肉还!”

  • 猜你喜欢
  • uicolor
  • ccaa3.0系统登录
  • 宠物连连看3.0版
  • scratch3.0中文版下载
  • 电视家官网电视版3.0
  • 电视家3.0下载到u盘
  • 电视家3.0官网下载u盘
  • usb3.0驱动
  • ccaa3.0
  • 3.0公卫系统
  • 热门推荐
  • 机房新风系统方案
  • 范冰冰亮相戛纳红毯
  • 啤酒谋杀案
  • 女生歌词有那一夜
  • is that she
  • 李连杰的大女儿
  • 棒约翰周五半价
  • 本田新款crv论坛
  • 湘政办发 2015 1号
  • colton ford什么意思
  • dmmd挪椅子声优
  • 抓拍闯红灯的摄像头
  • features和plugins
  • 女人生小孩现场
  • dragon baby推车安装
  • x战警(第一战)电影免费
  • 2017年像素最高的手机
  • 风向c是什么意思
  • 中国电视剧女明星名字
  • nginx代理转发 apache
  • All Right Reserved 安福网