博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS之CAGradientLayer属性简介和使用
阅读量:6510 次
发布时间:2019-06-24

本文共 1882 字,大约阅读时间需要 6 分钟。

1、CAGradientLayer简介

  CAGradientLayer用于制作背景图层的颜色渐变,也就是颜色梯度!相关属性简介:

#import 
#import
NS_ASSUME_NONNULL_BEGINCA_CLASS_AVAILABLE (10.6, 3.0, 9.0, 2.0)@interface CAGradientLayer : CALayer//颜色数组 CGColor@property(nullable, copy) NSArray *colors;//颜色区间范围数组,范围是[0-1]并且是递增@property(nullable, copy) NSArray
*locations;//开始坐标和结束坐标 范围(0-1)//默认值(0.5,0.0) (0.5,1.0)@property CGPoint startPoint;@property CGPoint endPoint;//绘制类型,目前只有一个参数也是默认值kCAGradientLayerAxial@property(copy) NSString *type;@end/** `type' values. **/CA_EXTERN NSString * const kCAGradientLayerAxialCA_AVAILABLE_STARTING (10.6, 3.0, 9.0, 2.0);NS_ASSUME_NONNULL_END

 

2、CAGradientLayer的简单使用:

self.showView = [[UIView alloc] initWithFrame:CGRectMake(100,(CScreenHeight-200)/2,CScreenWidth-200,200)];    CAGradientLayer *layer = [CAGradientLayer layer];    layer.frame = CGRectMake(0,0,CScreenWidth-200,200);    layer.colors = @[(id)UIColor.redColor.CGColor,                     (id)UIColor.whiteColor.CGColor,                     (id)UIColor.redColor.CGColor];    layer.locations = @[@(-0.2),@(-0.1),@0];    layer.startPoint = CGPointMake(0, 0);    layer.endPoint = CGPointMake(1, 1);    layer.type = kCAGradientLayerAxial;    [self.showView.layer addSublayer:layer];    self.layer = layer;    self.showView.backgroundColor = [UIColor whiteColor];    [self.view addSubview:self.showView];    self.waterTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(waterAction) userInfo:nil repeats:YES];- (void)waterAction{    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"locations"];    animation.fromValue = @[@(-0.3), @(-0.2), @(0)];    animation.toValue   = @[@(1.0), @(1.2), @(1.3)];    animation.duration  = 1;    [self.layer addAnimation:animation forKey:nil];}

效果图

 

转载于:https://www.cnblogs.com/xianfeng-zhang/p/7754099.html

你可能感兴趣的文章