可以对图层按path进行指定裁剪

//#import "ViewController.h"
//
//@interface ViewController ()
//
//@end
//
//@implementation ViewController
//
//- (void)viewDidLoad {
//
// [super viewDidLoad];
//
// // 创建一个蓝色的Layer
// CALayer *foregroundLayer = [CALayer layer];
// foregroundLayer.bounds = CGRectMake(0, 0, 100, 100);
// foregroundLayer.backgroundColor = [UIColor redColor].CGColor;
//
// // 创建一个路径
// UIBezierPath *apath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(20, 20, 60, 60)];
//
// // 创建maskLayer
// CAShapeLayer *maskLayer = [CAShapeLayer layer];
// maskLayer.path = apath.CGPath;
// maskLayer.fillColor = [UIColor greenColor].CGColor;
// maskLayer.fillRule = kCAFillRuleEvenOdd;
//
// // 设置位置
// foregroundLayer.position = self.view.center;
// // 设置mask
// foregroundLayer.mask = maskLayer;
//
// [self.view.layer addSublayer:foregroundLayer];
//
//}
//
//@end #import "ViewController.h" static CGFloat num; @interface ViewController () @property (nonatomic, strong) CAShapeLayer *circle;
@property (nonatomic, strong) CADisplayLink *link; @end @implementation ViewController @synthesize circle; - (void)viewDidLoad { [super viewDidLoad]; // //创建一个CAShape
// CALayer *bgLayer = [CALayer layer];
//
// //设置大小颜色和位置
// bgLayer.bounds = CGRectMake(0, 0, 200, 200);
// bgLayer.backgroundColor = [UIColor redColor].CGColor;
// bgLayer.position = self.view.center; CAGradientLayer *bgLayer = [CAGradientLayer layer];
bgLayer.bounds = CGRectMake(, , , );
bgLayer.position = self.view.center; bgLayer.colors = [NSArray arrayWithObjects:
(id)[UIColor colorWithRed: green:/255.0 blue:/255.0 alpha:1.0].CGColor,
(id)[UIColor colorWithRed: green:/255.0 blue:/255.0 alpha:1.0].CGColor,
(id)[UIColor whiteColor].CGColor, nil]; //创建一个CAShapeLayer作为MaskLayer
circle = [CAShapeLayer layer]; //设置路径
circle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(, )
radius:
startAngle:
endAngle: * M_PI
clockwise:YES].CGPath;
// circle.lineWidth = 5;
// circle.fillColor = [UIColor greenColor].CGColor;
// circle.fillRule = kCAFillRuleEvenOdd; //设置maskLayer
bgLayer.mask = circle; [self.view.layer addSublayer:bgLayer]; //添加计时器 这个只是一个附加动画
//self.link = [CADisplayLink displayLinkWithTarget:self selector:@selector(action)];
//[self.link addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
} - (void)action { num ++; circle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(, )
radius: + num
startAngle:
endAngle: * M_PI
clockwise:YES].CGPath; if (num > ) {
[self.link invalidate];
}
} @end

最新文章

  1. 软件工程(QLGY2015)博客点评总结
  2. [moka同学收藏]Vim升华之树形目录插件NERDTree安装图解
  3. MySQL5.6 PERFORMANCE_SCHEMA 说明
  4. 数据结构之KMP算法next数组
  5. 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)
  6. spring常用注解
  7. Flowplayer-Setup
  8. CCF推荐国际学术期刊
  9. STL六大组件之——仿函数偷窥
  10. app配置智能硬件的解决方案
  11. JQuery实现页面Loading效果
  12. maven安装步骤
  13. How to detect and avoid memory and resources leaks in .NET applications
  14. (转)委托的N种写法,你喜欢哪种?
  15. How to make vcredist_x86 reinstall only if not yet installed
  16. [Angular Tutorial] 3-Components
  17. JS键盘事件对象之keyCode、charCode、which属性对比
  18. 带你简单了解python协程和异步
  19. LightningChart最新版 v.8.3 全新发布,新功能使用教程。
  20. /usr/lib/uwsgi/plugins/python_plugin.so: cannot open shared object file: No such file or directory

热门文章

  1. vs2019里没有linq to sql或EF工具,导致dbml或者edmx无法通过设计器浏览
  2. composer的自动加载机制(autoload)
  3. Win7崩溃程序目录
  4. 【报错】An error happened during template parsing (template: "class path resource [templates/adminManageCourse.html]")
  5. 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(上) 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(下)
  6. web调试代理工具Whistle
  7. pandas分组聚合案例
  8. 4、numpy——创建数组
  9. hdu 6298 Maximum Multiple(规律)
  10. 修改DbVisualizer的默认快捷键 .