iOS之CAGradientLayer属性简介和使用
2024-09-06 12:17:39
1、CAGradientLayer简介
CAGradientLayer用于制作背景图层的颜色渐变,也就是颜色梯度!相关属性简介:
#import <QuartzCore/CALayer.h>
#import <Foundation/NSArray.h> NS_ASSUME_NONNULL_BEGIN CA_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<NSNumber *> *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 kCAGradientLayerAxial
CA_AVAILABLE_STARTING (10.6, 3.0, 9.0, 2.0); NS_ASSUME_NONNULL_END
2、CAGradientLayer的简单使用:
self.showView = [[UIView alloc] initWithFrame:CGRectMake(,(CScreenHeight-)/,CScreenWidth-,)];
CAGradientLayer *layer = [CAGradientLayer layer];
layer.frame = CGRectMake(,,CScreenWidth-,);
layer.colors = @[(id)UIColor.redColor.CGColor,
(id)UIColor.whiteColor.CGColor,
(id)UIColor.redColor.CGColor];
layer.locations = @[@(-0.2),@(-0.1),@];
layer.startPoint = CGPointMake(, );
layer.endPoint = CGPointMake(, );
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: target:self selector:@selector(waterAction) userInfo:nil repeats:YES]; - (void)waterAction{
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"locations"];
animation.fromValue = @[@(-0.3), @(-0.2), @()];
animation.toValue = @[@(1.0), @(1.2), @(1.3)];
animation.duration = ;
[self.layer addAnimation:animation forKey:nil];
}
效果图
最新文章
- jackson简单使用,对象转json,json转对象,json转list
- Mybatis学习总结(一)——入门基础
- zigbee 路由节点丢失后清除 该节点的残余网络信息
- CTF中那些脑洞大开的编码和加密
- poj 1087 最大流
- iOS开发——TTS文本发音
- WIFI无线adb调试android
- gawk的用法
- idea从git上拉取并管理项目
- js禁止开发者工具
- 微软黑科技强力注入,.NET C#全面支持人工智能
- Cache高速缓冲存储器
- poj2259 Team Queue
- JSP页面用<;a>;标签访问 Action 出错
- [转帖]Windows7 结束更新 以及后期更新花费。
- WPF 参数在Page见传递
- 3.Decorator Pattern(装饰者模式)
- 小程序通过用户授权获取手机号之getPhoneNumber
- android开发(27) 看看我的手机里都有什么传感器
- IDEA,RubyMine等JetBrains系列软件通用破解教程