CAGradientLayer简介

这里直接通过代码示例说明:

    CAGradientLayer *gradientLayer =  [CAGradientLayer layer];
    gradientLayer.frame = self.view.bounds;
    [gradientLayer setColors:[NSArray arrayWithObjects:
                              (id)[[UIColor redColor] CGColor],
                              (id)[[UIColor greenColor] CGColor],
                              (id)[[UIColor yellowColor] CGColor], nil]];
    [gradientLayer setLocations:@[@0.0,@0.5,@1.0]];
    [gradientLayer setStartPoint:CGPointMake(0.0, 0.0)];
    [gradientLayer setEndPoint:CGPointMake(0.0, 1.0)];
    [self.view.layer addSublayer:gradientLayer];


效果图如下:


说明:

CAGradientLayer用于绘制一个颜色渐变填充图层的形状;

@property(copy) NSString *type;
目前只有kCAGradientLayerAxial一个选项,即呈线性变化,因此不用管它;


@property(nullable, copy) NSArray *colors;
颜色数组,定义渐变层的各个颜色;

@property(nullable, copy) NSArray<NSNumber *> *locations;
一个可选的NSNumber数组,决定每个渐变颜色的终止位置,这些值必须是递增的,数组的长度和colors的长度最好一致,在如上的例子中如果修改如下代码;

[gradientLayer setLocations:@[@0.0,@1.0]];

则显示为仅仅红色和绿色两个颜色渐变,效果如下:


@property CGPoint startPoint;
@property CGPoint endPoint;
分别表示渐变层的起始位置和终止位置,这两个点被定义在一个单元坐标空间,[0,0]表示左上角位置,[1,1]表示右下角位置,默认值分别是 [.5,0] and [.5,1];

修改这两个属性为如下值,

    [gradientLayer setStartPoint:CGPointMake(0.0, 0.0)];
    [gradientLayer setEndPoint:CGPointMake(1.0, 1.0)];

则效果图如下:





  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值