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. } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |