美文网首页
CAGradientLayer初学习

CAGradientLayer初学习

作者: AllenZYQ | 来源:发表于2016-03-15 20:48 被阅读0次

CAGradientLayer 是继承CALayer 的类,看layer 就明白了,是对layer层动画的操作。

CAGradientLayer用于处理渐变色的层结构.

由于项目中需求一个类似于彩虹进度的lable。 所以自己查了下用法, 写了一个小Demo

@interface

@property (nonatomic, strong) UILabel * label2;

@property (nonatomic, strong) CAGradientLayer * gradientLayer;

.m文件

- test {

//初始化, 我给的宽度是1

_label2 = [[UILabel alloc]initWithFrame:CGRectMake(CGRectGetMinX(label.frame), self.view.center.y, 1, 20)];

[self.view addSubview:_label2];

//然后加入一个动画 让width 设置成你想要的。(我测试的是300)(动画要加在CAGradientLayer之前)

[UIView animateWithDuration:3 animations:^{

_label2.frame = CGRectMake(30, self.view.center.y-10, 300, 20);

}];

//    渐变层

_gradientLayer = [CAGradientLayer layer];

_gradientLayer.frame = _label2.bounds;

[_label2.layer addSublayer:_gradientLayer];

//关于CAGradientLayer的坐标系统  相当于一个矩形 (0,0)(0,1)(1,0)(1,1)的 坐标系系统

//开始坐标

_gradientLayer.startPoint = CGPointMake(0, 0);

//结束坐标

_gradientLayer.endPoint = CGPointMake(1, 0);

//设置的渐变色区间

self.gradientLayer.colors = @[(__bridge id)[UIColor redColor].CGColor, (__bridge id)[UIColor yellowColor].CGColor];

}


下面就是效果图


第一次写 缺点请多多包涵

相关文章

网友评论

      本文标题:CAGradientLayer初学习

      本文链接:https://www.haomeiwen.com/subject/lorqlttx.html