swift-3.0 将HexColor转变为UIColor的方法

// MARK:- 把#ffffff颜色转为UIColor
extension UIColor {
    class func colorWithHexString(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))
    }
}

将以上方法直接复制粘贴至任意类中即可,调用方法如下:

let tmpColor = UIColor.colorWithHexString(hex: "#FFFFFF")

时间: 2025-01-06 12:23:20

swift-3.0 将HexColor转变为UIColor的方法的相关文章

Swift 2.0特有的枚举函数的实现方法和调用方法

一. //枚举网络访问错误 //swift 中枚举可以定义函数和属性 private enum GFFNetworkError: Int { case emptyDataError = -1 case emptyTokenError = -2 //错误描述 private var errorDescription: String { switch self { case .emptyDataError: return "空数据" case .emptyTokenError:return

使用 Swift 3.0 操控日期

作者:Joe,原文链接,原文日期:2016-09-20译者:Cwift:校对:walkingway:定稿:CMB 当你在想要 大规模重命名 时,一个附带的挑战就是要确保所有相关的文档都必须同步更新.比如,截至到 2016 年 9 月 20 日,DateFormatter 的文档依旧没有与版本统一,引用的是 Swift 2.3 风格的 API(译者注:现在是 2017年,文档依旧没有更新...).随着时间的推移,这些疏漏毫无疑问都会被纠正,这里是一些使用 Date 以及 DateFormatter

Swift互用性:与 Cocoa 数据类型共舞(Swift 2.0版)-b

本节内容包括: 字符串(Strings) 数值(Numbers) 集合类(Collection Classes) 错误(Errors) Foundation数据类型(Foundation Data Types) Foundation函数(Foundation Functions) Core Foundation 作为对 Objective-C 互用性(互操作性)的一部分,Swift提供快捷高效的方式来处理 Cocoa 数据类型. Swift 会自动将一些 Objective-C 类型转换为 Sw

iOS开发系列--Swift 3.0

概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行.在WWDC16上Apple公布了Swift3.0,从中可以看出Apple对Swift的重视,以及Swift开源半年以来的进步.尽管对于开发人员来说Swift3.0的变化会令你的程序几乎处处报错,但是试想一下如果Apple没有追求极致的精神又怎么会做出如此多的更改.今天的文章将重点介绍:What's

iOS10.0 & Swift 3.0 对于升级项目的建议

iOS & Swift新旧版本更替, 在Apple WWDC大会开始之际, 也迎来了iOS 10.0, Swift 3.0 测试版, 到目前为止, 已经是测试版2.0, 每次更新都带来了新的语法变化, Swift更加简洁, 但是Xcode 越发不给力, 输出变本加厉, NSLog 一如既往的不好使, 但是,好消息是, 无论语法怎么改变, 在已有项目的基础上, Xcode更新到8.0 测试版 2.0, 您只需按照系统提示的红空心原点提示, 一个一个的替换, 就可以完美的过度到iOS 10.0,  

iOS开发——项目实战Swift篇&swift 2.0项目开发总结二(开发常用)

swift 2.0项目开发总结二(开发常用) 一:相册中选择相片到App指定位置 随 着相机像素的提高,实际用户选择的图片都是很大的,有的高达5.6M,如果直接使用用户选着的图片,非常消耗内存,并且也用不到这么高像素的图片,可以当 用户选着好图片后,在UIImagePickerController对应的代理方法中,先将图片进行重新绘制为需要的大小,在设置给iconView 1 /// MARK: 摄像机和相册的操作和代理方法 2 extension MeViewController: UIIma

iOS开发——学习总结swift篇&swift 2.0学习与总结一

swift 2.0学习与总结一 一:属性策略(OC中的叫法) strong: 在Swift中是默认的 weak: 通过weak关键词申明 weak var delegate: UITextFieldDelegate? readonly,readwrie 直接通过声明变量var,声明常量let的方式来指明 copy 通过@NSCopying指令声明. 值 得注意的是String,Array和Dictionary在Swift是以值类型(value type)而不是引用类型(reference typ

Swift 2.0 到底「新」在哪?

[编者按]2015年6月,一年一度的苹果 WWDC 大会如期而至,在大会上苹果发布了 Swift 2.0,引入了很多新的特性,以帮助开发者更快.更简单地构建应用.本篇文章作者是 Maxime defauw ,本文中 Maxime 向大家简要介绍 Swift 2.0 中值得注意的新特性.本文系 OneAPM 工程师编译整理. 一年前,苹果推出了面向 iOS 和 OS X 的全新编程语言-- Swift.当听到它发布的时候,像千千万万 iOS 开发者那样,笔者的内心激动无比.正如宣传所说的那样,作为

swift 2.0基本语法

下面为一些swift 2.0 的基本语法,写在playground中,每次swift版本跟新的时候,打开瞅瞅,就可以对比出哪里发生了修改. 内容包括:01变量&常量 02分支 03循环 04字符串 05数组 06字典 07函数 01变量&常量 //: Playground - noun: a place where people can play import UIKit var str = "Hello, playground" /*: let 常量 var 变量 *