文档章节

CAGradientLayer - 渐变颜色(iOS)

hell03W
 hell03W
发布于 2016/07/27 11:00
字数 368
阅读 50
收藏 1

CAGradientLayer继承自CALayer, 是 Core Animation 中的一个, 主要功能是用来时间渐变颜色图层.

效果如下所示:

代码实现:

    // 添加渐变色层
    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.frame = self.bounds;

    gradientLayer.colors = [NSArray arrayWithObjects:
                            (id)[kColorFromRGB(0xF6C48E) CGColor],
                            (id)[kColorFromRGB(0xBB7FCB) CGColor],
                            (id)[kColorFromRGB(0x6DD2E5) CGColor], nil];
    gradientLayer.startPoint = CGPointMake(0, 0.4);
    gradientLayer.endPoint = CGPointMake(1, 0.6);
    _gradientLayer = gradientLayer;

    [self.layer insertSublayer:gradientLayer atIndex:0];

这样的功能, 实现起来还是比较简单的, 苹果给我们全部都封装好了, 只需要调用几个简单的方法即可.

事实上, CAGradientLayer类也是比较简单的, 只提供如下几个方法和属性, 好吧, 当了解之后, 觉得太简单了, 没什么好说的了 ....

@interface CAGradientLayer : CALayer

/* The array of CGColorRef objects defining the color of each gradient
 * stop. Defaults to nil. Animatable. */

@property(nullable, copy) NSArray *colors;

/* An optional array of NSNumber objects defining the location of each
 * gradient stop as a value in the range [0,1]. The values must be
 * monotonically increasing. If a nil array is given, the stops are
 * assumed to spread uniformly across the [0,1] range. When rendered,
 * the colors are mapped to the output colorspace before being
 * interpolated. Defaults to nil. Animatable. */

@property(nullable, copy) NSArray<NSNumber *> *locations;

/* The start and end points of the gradient when drawn into the layer's
 * coordinate space. The start point corresponds to the first gradient
 * stop, the end point to the last gradient stop. Both points are
 * defined in a unit coordinate space that is then mapped to the
 * layer's bounds rectangle when drawn. (I.e. [0,0] is the bottom-left
 * corner of the layer, [1,1] is the top-right corner.) The default values
 * are [.5,0] and [.5,1] respectively. Both are animatable. */

@property CGPoint startPoint;
@property CGPoint endPoint;

/* The kind of gradient that will be drawn. Currently the only allowed
 * value is `axial' (the default value). */

@property(copy) NSString *type;

@end

© 著作权归作者所有

共有 人打赏支持
hell03W
粉丝 9
博文 145
码字总数 109892
作品 0
朝阳
程序员
iOS 做一个圆形渐变圆环

代码主要用到: CALayer+UIBezierPath+CAShapeLayer+CAGradientLayer+CABasicAnimation 1.创建一个图层 效果如图: 2.绘制一个路径,再生成一个背景圆环加到view上 效果如图: 3.利用CAGradientL...

TouchMing
01/15
0
0
[iOS Animation]-CALayer 专用图层 CATransformLayer

CATransformLayer 当我们在构造复杂的3D事物的时候,如果能够组织独立元素就太方便了。比如说,你想创造一个孩子的手臂:你就需要确定哪一部分是孩子的手腕,哪一部分是孩子的前臂,哪一部分...

浩浩老师
2015/09/23
0
0
iOS 动画十二:Gradient Animations

现在,我们要写一个 Gradient Animations demo, 其最终效果是这样的: 实现步骤如下: 1. Drawing your first gradient 定义 gradient 的 start 和 end 位置: gradient 渐变,先由黑色到白色...

_浅墨_
07/25
0
0
iOS CAShapeLayer、CADisplayLink 实现波浪动画效果

效果图 代码已上传 GitHub:htt0p s : / / g i t hu b . c o m/ S il e n ce - G i t H u b /C o r e A n im a t i o n D em o 可以自定义波浪高度、宽度、速度、方向、渐变速度、水的深度等...

技术小甜
2017/11/09
0
0
IOS iPhone 开发 UItableView中的单元格背景渐变

IOS iPhone 开发 UItableView中的单元格背景渐变 渐变如果用背景图片,会让你的app臃肿。给APP瘦身,我们可以使用代码来解决渐变的问题。这篇文章是解决表格中的单元格的简便问题,同时解决单...

海参
2013/06/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
26
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部