文档章节

Swift3 十六进制颜色代码转UIColor & CGColor

陈昊Sevens
 陈昊Sevens
发布于 2017/04/28 10:02
字数 172
阅读 14
收藏 0

这个算是常用的函数了 网上的都是swift2版本 自己更新了下在这里留个档

func colorWithHexString (hex:String) -> UIColor {
        var cString:String = hex.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).uppercased()
        
        if (cString.hasPrefix("#")) {
            cString = (cString as NSString).substring(from: 1)
        }
        
        if (cString.characters.count == 3){
            cString += cString
        }
        
        let rString = (cString as NSString).substring(to: 2)
        let gString = ((cString as NSString).substring(from: 2) as NSString).substring(to: 2)
        let bString = ((cString as NSString).substring(from: 4) as NSString).substring(to: 2)
        
        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))
    }


func CGColorFromRGB(rgbValue: UInt) -> CGColor {
        return UIColor(
            red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
            green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
            blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
            alpha: CGFloat(1.0)
        ).cgColor
    }

 

© 著作权归作者所有

共有 人打赏支持
陈昊Sevens

陈昊Sevens

粉丝 24
博文 59
码字总数 32119
作品 0
澳门
高级程序员
苹果开机经典滑动动画

1首先定义 @interface ViewController () { CAGradientLayer* _gridentlayer; } @end 2 在viewDidLoad中实现 //这里出现了CALayer的另一个子类CAGradientLayer,这个类的作用就是能在Layer上...

caoxiang
2015/09/24
76
0
IOS UIColor 自定义颜色

这几篇经常使用 UIColor,但是却碰到了很多问题,主要的问题,就是自定义颜色 和 同 CIColor 与 CGColor 之间的联系、转换 花了点时间,终于搞明白了。 1. 利用UIColor展现 #F6F6F6 这个传统...

vane_
2013/06/04
0
0
quartz2D绘制简单的几何图形

第一部分 quartz2D绘图基础简介:CGContextRef 一 quartz2D经常用来绘图,它的核心API是CGContextRef 二 CGContextRef的获取 1. 创建位图时获取我们所需CGContextRef(常称为绘图上下文) 在...

不孤独的美食家
2015/10/14
511
0
iOS图层layer操作

图层layer 1.操作view图层(代码加注释) 1.1属性操作 1.2变换操作 2. UIImageView的图层操作 2.1 UIImageView的图层操作 2.2 UIImageView的图层裁剪操作 3.隐式动画 所有非root layer,也就是...

AppleDream
2016/07/04
34
0
iOS 做一个圆形渐变圆环

代码主要用到: CALayer+UIBezierPath+CAShapeLayer+CAGradientLayer+CABasicAnimation 1.创建一个图层 效果如图: 2.绘制一个路径,再生成一个背景圆环加到view上 效果如图: 3.利用CAGradientL...

TouchMing
01/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
1
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
2
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
1
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
1
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部