UIColor的简单介绍
两个参数 一个是不透明度 一个是灰度值 返回的是一个颜色对象
两个值都是CGFloat类型 大于1按1算 小于0 按0算
和[[UIColor alloc]initWithWhite:0.33 alpha:1]方法一个道理
self.view.backgroundColor = [UIColor colorWithWhite:0.33 alpha:1];
用HSB和不透明度来返回一个颜色对象
色相(H,hue):在0~360°的标准色轮上,色相是按位置度量的。在通常的使用中,色相是由颜色名称标识的,比如红、绿或橙色。黑色和白色无色相
饱和度(S,saturation):表示色彩的纯度,为0时为灰色。白、黑和其他灰色色彩都没有饱和度的。在最大饱和度时,每一色相具有最纯的色光。取值范围0~100%
亮度(B,brightness或V,value):是色彩的明亮度。为0时即为黑色。最大亮度是色彩最鲜明的状态。取值范围0~100%
HSB模式中S和B呈现的数值越高,饱和度明度越高,页面色彩强烈艳丽,对视觉刺激是迅速的,醒目的效果,但不易于长时间的观看。以上两种颜色的S数值接近,是强烈的状态。H显示的度是代表在色轮表里某个角度所呈现的色相状态,相对于饱和度(S)和亮度(B)来说,意义不大。
参数都是CGFloat类型 大于1按1算 小于0 按0算
和这个方法一个道理[[UIColor alloc]initWithHue:0.5 saturation:0.5 brightness:0.5 alpha:1]
self.view.backgroundColor = [UIColor colorWithHue:0.5 saturation:0.5 brightness:0.5 alpha:1];
用RGB和不透明度来返回一个颜色对象
同上一样参数都是CGFloat类型 值在0~1之间 大于1的话就是1 小于0的话就是0
RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一
RGB的所谓“多少”就是指亮度,并使用整数来表示。通常情况下,RGB各有256级亮度,用数字表示为从0、1、2...直到255。注意虽然数字最高是255,但0也是数值之一,因此共256级
因为我们这的数值是0~1之间的 所以这个数值要除以255 才能正常显示
和[[UIColor alloc]initWithRed:150/255. green:150/255. blue:150/255. alpha:1]这个方法一样
self.view.backgroundColor = [UIColor colorWithRed:150/255. green:150/255. blue:150/255. alpha:1];
参数是一个CGColorRef结构体 UIColor这个类的其中一个属性就是CGColorRef
和[[UIColor alloc]initWithCGColor:cgColor]一样
平时开发中 本人比较少见 所以理解的并不深刻 在这不做深究
CGColorRef cgColor = [UIColor redColor].CGColor;
self.view.backgroundColor = [UIColor colorWithCGColor:cgColor];
这个方法很消耗内存 就单单这个方法 在我模拟器上内存消耗19.1 不如设置他的背景颜色
view1.layer.contents = (id) [UIImage imageNamed:@"01"].CGImage;网上说这种方式比较省内存 我试了一下 内存消耗19 但是这个方法默认的不是左上角 是全部填充的
而且目前这个方法设置的图片总是frame不对,这个还不能通过属性来解决 建议不要用这个方法
若必须要用的话 我的建议是用view1.layer.contents = (id) [UIImage imageNamed:@"01"].CGImage;来代替
和[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"01"]]这个方法一个效果
view1.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"01"]];
如图
Core Image转化为UIColor 颜色一样 本人对CIColor理解的不深 这个方法不做深究 以后在详细研究
和[[UIColor alloc]initWithCIColor:ciColor]方法效果一样
CIColor * ciColor = [CIColor colorWithRed:155/255. green:155/255. blue:155/255.];
self.view.backgroundColor = [UIColor colorWithCIColor:ciColor];
也可以这样写
self.view.backgroundColor = [UIColor darkGrayColor];
他们其实是调用的是colorWithWhite:0.33 alpha:1 和 colorWithRed:150/255. green:150/255. blue:150/255. alpha:1这两个方法 alpha都为1 不透明
只有clearColor的 不透明度为0 意思是透明了
+ (UIColor *)blackColor; // 0.0 white
+ (UIColor *)darkGrayColor; // 0.333 white
+ (UIColor *)lightGrayColor; // 0.667 white
+ (UIColor *)whiteColor; // 1.0 white
+ (UIColor *)grayColor; // 0.5 white
+ (UIColor *)redColor; // 1.0, 0.0, 0.0 RGB
+ (UIColor *)greenColor; // 0.0, 1.0, 0.0 RGB
+ (UIColor *)blueColor; // 0.0, 0.0, 1.0 RGB
+ (UIColor *)cyanColor; // 0.0, 1.0, 1.0 RGB
+ (UIColor *)yellowColor; // 1.0, 1.0, 0.0 RGB
+ (UIColor *)magentaColor; // 1.0, 0.0, 1.0 RGB
+ (UIColor *)orangeColor; // 1.0, 0.5, 0.0 RGB
+ (UIColor *)purpleColor; // 0.5, 0.0, 0.5 RGB
+ (UIColor *)brownColor; // 0.6, 0.4, 0.2 RGB
+ (UIColor *)clearColor; // 0.0 white, 0.0 alpha
另外 跳到头文件你可以看到
还有三个方法,这三个方法目前以我的经历来看就只用在了绘图,其他地方这个方法见的不多
setStroke是填充空心的 setFill填充实心的 set是两种都可以用
CGContextRef ref = UIGraphicsGetCurrentContext();
CGContextMoveToPoint(ref, 50, 50);
CGContextAddLineToPoint(ref, 100, 100);
CGContextSetLineWidth(ref, 20);
CGContextSetLineCap(ref, kCGLineCapRound);
[[UIColor blueColor] set]; //这个方法和[[UIColor blueColor] setStroke];实现的效果是一样的
CGContextStrokePath(ref);
CGContextAddRect(ref, CGRectMake(250, 10, 100, 200));
[[UIColor yellowColor] set];//这个方法和[[UIColor yellowColor] setFill];实现的效果是一样的
CGContextFillPath(ref);
如图所示
画得蓝色和黄色的部分
其余的方法都被抛弃了,暂时不做研究,本人菜鸟,若代码写的有问题或者不合适的地方,请大神指出来,先谢谢啦
UIColor的简单介绍相关推荐
- iOS开发UI篇—多控制器和导航控制器简单介绍
iOS开发UI篇-多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...
- iOS开发UI篇—UIWindow简单介绍
iOS开发UI篇-UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...
- UIWindow简单介绍
UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建 ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇-UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- iOS开发UI篇—Date Picker和UITool Bar控件简单介绍
iOS开发UI篇-Date Picker和UITool Bar控件简单介绍 一.Date Picker控件 1.简单介绍: Date Picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何 ...
- iOS开发UI篇—Modal简单介绍
iOS开发UI篇-Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...
- 文顶顶 iOS开发UI篇—UITabBarController简单介绍 iOS开发UI篇—UITabBarController简单介绍...
一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例 ...
- iOS边练边学--UIScrollView的属性简单使用,代理的简单介绍以及内容缩放
一.什么是UIScrollView *移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也是相当有限 *当展示的内容较多,超出一个屏幕时,用户可通过滚动收拾来查看屏幕以外的内容 *普通的UI ...
- 遗传算法的简单介绍以及模式定理的简单证明
遗传算法 遗传算法(Genetic Algorithm,GA),最早是由美国的John holland在20世纪70年代提出.算法通过模拟达尔文生物进化论的自然选择以及遗传学机理的生物进化过程来搜 ...
最新文章
- 关于text段、data段和bss段
- [你必须知道的.NET]第一回:恩怨情仇:is和as
- sql注入***原理
- lib和dll的区别、生成以及使用详解
- Http协议的请求和响应
- dsniff 和 Ettercap 和 bettercap 详解 - 网络嗅探工具包
- Qt文档阅读笔记-对Style Plugin Example实例的解析
- c语言可以调用汇编语言吗,C语言与汇编语言混编方式
- jQuery动画stop()用法
- 360壁纸图片API收录
- 计算机桌面设置定时,电脑桌面定时提醒休息如何设置?
- 科学防疫宣传实践总结报告
- 基于SSM的超市会员管理系统
- csgo如何保存自己的cfg_CSGO进阶教程:cfg文件调试指南
- 【408计算机考研】|【2018统考真题-41】| 给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数
- 数位dp【模板 + 老年康复】
- gdpr通用数据保护条例_关于通用数据保护法规(GDPR),您需要了解的15件事
- 表情符号存入mysql_emoji等表情符号存mysql的方法
- 把全球大前端技术 ppt 分享给大家
- Mac上如何彻底卸载Vs code
热门文章
- Chrome强大之一-----人人网批量下载相册图片
- MaskedTextBox总结
- 动态添加表格或者表单元素
- Chapter1 : Application of Artificial intelligence in Drug Design: Opportunity and Challenges
- owncloud android 编译,编译ownCloud for Android客户端
- 家用计算机怎么关机,电脑要如何设置定时关机
- webpack4 module federation
- 怎么恢复删除的文件夹
- Protradex普瑞缇平台是提供去中心化NFT抵押借贷协议
- oracle 存储过程使用create table报错ORA-01031: insufficient privileges问题处理