CAGradientLayer 实现颜色渐变效果简介
2015-12-29 14:49
459 查看
转载自:http://blog.csdn.net/ch_soft/article/details/7534542
自:注意:在使用此方法时,需加入框架QuartzCore/QuartzCore.h 并在头文件中加入下面的头文件
#import <QuartzCore/QuartzCore.h>
下面是我个人看到的两种简便使用方法:
1.
达到的效果是:
CAGradientLayer简介:
CAGradientLayer可以方便的处理颜色渐变。
Properties:
@property(copy) NSArray *colors
渐变颜色的数组
[cpp] view
plaincopy
[NSArray arrayWithObjects:(id)[[[UIColor blackColor] colorWithAlphaComponent:1] CGColor],
(id)[[[UIColor yellowColor] colorWithAlphaComponent:1] CGColor],
(id)[[[UIColor blueColor] colorWithAlphaComponent:1] CGColor],
(id)[[UIColor clearColor] CGColor],
nil];
如上定义了四种颜色(最后一种是无色)。
@property(copy) NSArray *locations
渐变颜色的区间分布,locations的数组长度和color一致,这个值一般不用管它,默认是nil,会平均分布。
[cpp] view
plaincopy
[NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0],
[NSNumber numberWithFloat:0.3],
[NSNumber numberWithFloat:0.8],
[NSNumber numberWithFloat:1.0],
nil];
注意这几个数字在0到1之间单调递增。
自我理解:(此处的意思是把左上角的点看作(0,0),右下角的点看作(1,1))
@property CGPoint startPoint
映射locations中第一个位置,用单位向量表示,比如(0,0)表示从左上角开始变化。默认值是(0.5,0.0)。
@property CGPoint endPoint
映射locations中最后一个位置,用单位向量表示,比如(1,1)表示到右下角变化结束。默认值是(0.5,1.0)。
@property(copy) NSString *type
默认值是kCAGradientLayerAxial,表示按像素均匀变化。除了默认值也无其它选项。
下面是我用上面的代码实现的最终效果,startPoint是(0,0),endPoint是(1,1)。
自:注意:在使用此方法时,需加入框架QuartzCore/QuartzCore.h 并在头文件中加入下面的头文件
#import <QuartzCore/QuartzCore.h>
下面是我个人看到的两种简便使用方法:
1.
达到的效果是:
CAGradientLayer简介:
CAGradientLayer可以方便的处理颜色渐变。
Properties:
@property(copy) NSArray *colors
渐变颜色的数组
[cpp] view
plaincopy
[NSArray arrayWithObjects:(id)[[[UIColor blackColor] colorWithAlphaComponent:1] CGColor],
(id)[[[UIColor yellowColor] colorWithAlphaComponent:1] CGColor],
(id)[[[UIColor blueColor] colorWithAlphaComponent:1] CGColor],
(id)[[UIColor clearColor] CGColor],
nil];
如上定义了四种颜色(最后一种是无色)。
@property(copy) NSArray *locations
渐变颜色的区间分布,locations的数组长度和color一致,这个值一般不用管它,默认是nil,会平均分布。
[cpp] view
plaincopy
[NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0],
[NSNumber numberWithFloat:0.3],
[NSNumber numberWithFloat:0.8],
[NSNumber numberWithFloat:1.0],
nil];
注意这几个数字在0到1之间单调递增。
自我理解:(此处的意思是把左上角的点看作(0,0),右下角的点看作(1,1))
@property CGPoint startPoint
映射locations中第一个位置,用单位向量表示,比如(0,0)表示从左上角开始变化。默认值是(0.5,0.0)。
@property CGPoint endPoint
映射locations中最后一个位置,用单位向量表示,比如(1,1)表示到右下角变化结束。默认值是(0.5,1.0)。
@property(copy) NSString *type
默认值是kCAGradientLayerAxial,表示按像素均匀变化。除了默认值也无其它选项。
下面是我用上面的代码实现的最终效果,startPoint是(0,0),endPoint是(1,1)。
相关文章推荐
- Android应用:使用adb获得activity堆栈信息
- ViewPager.setOffscreenPageLimit(0) doesn't work as expected
- UIViewController的生命周期及iOS程序执行顺序
- UGUI
- Android中多界面的退出
- Burp Suite使用介绍——Proxy功能(二)
- iOS---textfield设置为只有下划线,并且左边有图片
- 【转】带参数的主函数
- Android 网络请求详解
- sphinx增量索引和主索引来实现索引的实时更新
- linux TXT文件操作 '^@ ' 'NUL' 符号乱码问题
- IntelliJ IDEA常见问题
- leetcode:257 Binary Tree Paths-每日编程第四十五题
- shell中各种括号的作用()、(())、[]、[[]]、{}
- ==与equals区别
- Android拍照裁剪图片
- 一步一步学习 Linux 驱动之 platform 机制(tiny210 按键驱动)
- java -------SimpleDateFormat之后为何多了一年
- Unity3D核心类型一览
- JMeterPluginCMD命令行工具生成png图片和csv统计文件