首页 > 代码库 > CAShapeLayer使用
CAShapeLayer使用
UIView *showView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[self.view addSubview:showView];
showView.backgroundColor = [UIColor whiteColor];
UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(100 / 2.f, 100 / 2.f)
radius:100 / 2.f
startAngle:0
endAngle:1.5*M_PI
clockwise:YES];
CAShapeLayer *layer = [CAShapeLayer layer];
layer.frame = showView.bounds; // 与showView的frame一致
layer.strokeColor = [UIColor greenColor].CGColor; // 边缘线的颜色
layer.fillColor = [UIColor greenColor].CGColor; // 闭环填充的颜色
layer.lineCap = kCALineCapRound; // 边缘线的类型
layer.path = path.CGPath; // 从贝塞尔曲线获取到形状
layer.lineWidth = 9.0f; // 线条宽度
layer.strokeStart = 0.0f;
layer.strokeEnd = 0.0f;
[showView.layer addSublayer:layer];
CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
pathAnimation.duration = 5.0;
pathAnimation.fromValue = http://www.mamicode.com/[NSNumber numberWithFloat:0.0f];
pathAnimation.toValue = http://www.mamicode.com/[NSNumber numberWithFloat:1.0f];
[layer addAnimation:pathAnimation forKey:nil];
CAShapeLayer使用