加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 01:36:49 所属栏目:百科 来源:网络整理
导读:生活处处充满色彩,当然,作为一个App -IOS 的开发者,在你手上产出的App 也应该具有一定的特色。和绚丽的色彩。那么就要考虑到颜色的创建类 UIColor 。今天我就带你走进 Swift 的 UIColor。 下面进行刨根问底: import UIKit class ViewController: UIViewC

生活处处充满色彩,当然,作为一个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 的参数。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读