Swift 的UIColor 类的详解使用和十六进制转RGB

生活处处充满色彩,当然,作为一个App -IOS 的开发者,在你手上产出的App 也应该具有一定的特色。和绚丽的色彩。那么就要考虑到颜色的创建类 UIColor 。今天我就带你走进 Swift 的 UIColor。


下面进行刨根问底:

import UIKit


class ViewController: UIViewController {


override func viewDidLoad() {

super.viewDidLoad()

//首先创建一个View

let ZSJ_View = UIView(frame: CGRectMake(100,100,100))

/*********************************************************/

//设置ZSJ_View 的背景颜色

ZSJ_View.backgroundColor = UIColor.redColor()

/*********************************************************/


//使用给定的一个颜色,从新设置它的透明度后从新获得一个新的颜色

let ZSJ_Coloer = UIColor.magentaColor()

/*

ZSJ_Coloer 参数 给定的颜色

1 参数 设置透明度的值 0~1

*/

ZSJ_View.backgroundColor = ZSJ_Coloer.colorWithAlphaComponent(1)

/*

它与OC的使用差别是

UIColor *color = [UIColor redColor];

UIColor *cl = [color colorWithAlphaComponent:0.5f];

*/

/*********************************************************/


/*

这个方法 有四个参数组成的

绿 透明度 他们都是(0~1)的数值

*/

//ZSJ_View.backgroundColor = UIColor.init(colorLiteralRed: 23/255.0,green: 23/255.0,blue: 23/255.0,alpha: 1)

/*********************************************************/

/*

这个方法是:指定 色调 饱和度 亮度 创建颜色(~)

hue 参数 色调 0~240

saturation 参数 饱和度 0~240

brightness 参数 亮度 0~240

alpha 参数 透明度 0~1

*/

ZSJ_View.backgroundColor = UIColor.init(hue: 20/240.0,saturation: 10/240.0,brightness: 3/240.0,alpha: 0.3)

/*********************************************************/

/*

这个方法是使用图片创建颜色

UIimage 参数 图片对象

是表示你的这个图片 确定存在 添加会报错(也有?)

*/

ZSJ_View.backgroundColor = UIColor.init(patternImage: UIImage(named: "fadcf1d10901b800bd13b745d48e5755.jpg")!)

ZSJ_View.backgroundColor = UIColor(patternImage: UIImage(named: "fadcf1d10901b800bd13b745d48e5755.jpg")!)

/*********************************************************/

/* 十六进制转换成RGB

*/

ZSJ_View.backgroundColor = ZSJ_Color_Conversion("#DC143C")

/*********************************************************/


/*可用的颜色有:

blackColor() -> UIColor // 0.0 white

darkGrayColor() -> UIColor // 0.333 white 深灰色

lightGrayColor() -> UIColor // 0.667 white 浅灰色

whiteColor() -> UIColor // 1.0 white 白色

grayColor() -> UIColor // 0.5 white 灰色

redColor() -> UIColor // 1.0,0.0,0.0 RGB 红色

greenColor() -> UIColor // 0.0,1.0,0.0 RGB 绿色

blueColor() -> UIColor // 0.0,1.0 RGB 蓝色

cyanColor() -> UIColor // 0.0,1.0 RGB 青色

yellowColor() -> UIColor // 1.0,0.0 RGB 黄色

magentaColor() -> UIColor // 1.0,1.0 RGB 洋红色

orangeColor() -> UIColor // 1.0,0.5,0.0 RGB 橙色

purpleColor() -> UIColor // 0.5,0.5 RGB 紫色

brownColor() -> UIColor // 0.6,0.4,0.2 RGB 棕色

clearColor() -> UIColor // 0.0 white,0.0 alpha 透明色

darkTextColor() ->UIColor 文本灰色

groupTableViewBackgroundColor()-> UIColor

lightTextColor:返回系统使用的在深背景下显示文本的颜色。

darkTextColor: 返回系统使用的在浅背景下显示文本的颜色。

groupTableViewBackgroundColor:返回系统使用的groupTable的背景颜色。

viewFlipsideBackgroundColor

scrollViewTexturedBackgroundColor:系统提供的Pattern color(使用图像生成)来渲染可滚动内容的背景色。

underPageBackgroundColor:系统提供的Pattern Color来渲染一个page的背景色。

// ZSJ_View 加载到当前视图控制器的View 即是 self.view

self.view.addSubview(ZSJ_View)

// Do any additional setup after loading the view,typically from a nib.

}

/****************************************************************/

func ZSJ_Color_Conversion ( Color_Value:Nsstring)->UIColor{

var Str :Nsstring = Color_Value.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).uppercaseString

if Color_Value.hasPrefix("#"){

Str=(Color_Value as Nsstring).substringFromIndex(1)

}

let ZSJ_StrRed = (Str as Nsstring ).substringToIndex(2)

let ZSJ_StrGreen = ((Str as Nsstring).substringFromIndex(2) as Nsstring).substringToIndex(2)

let ZSJ_StrBlue = ((Str as Nsstring).substringFromIndex(4) as Nsstring).substringToIndex(2)

var r:CUnsignedInt = 0,g:CUnsignedInt = 0,b:CUnsignedInt = 0;

NSScanner(string:ZSJ_StrRed).scanHexInt(&r)

NSScanner(string: ZSJ_StrGreen).scanHexInt(&g)

NSScanner(string: ZSJ_StrBlue).scanHexInt(&b)

return UIColor(red: CGFloat(r)/255.0,green: CGFloat(g)/255.0,blue: CGFloat(b)/255.0,alpha: 1)

}

/***************************************************************/


override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// dispose of any resources that can be recreated.

}



}


其中 func ZSJ_Color_Conversion ( Color_Value: Nsstring )-> UIColor 是本篇博客的重点:是十六进制的数转化为RGB 的参数。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...