iOS利用贝塞尔曲线和CAShapeLayer创建横向带动画柱状图

//创建出CAShapeLayer

self.shapeLayer= [CAShapeLayer layer];

//self.shapeLayer.frame = self.view.frame;//设置shapeLayer的尺寸和位置

self.shapeLayer.fillColor= [UIColor clearColor].CGColor;//填充颜色为ClearColor

//设置线条的宽度和颜色

self.shapeLayer.lineWidth=30.0f;

self.shapeLayer.strokeColor= [UIColor greenColor].CGColor;

//创建出贝塞尔曲线

UIBezierPath*circlePath = [UIBezierPath bezierPath];

[circlePath moveToPoint:CGPointMake(20,200)];

[circlePath addLineToPoint:CGPointMake(200,200)];

//让贝塞尔曲线与CAShapeLayer产生联系

self.shapeLayer.path= circlePath.CGPath;

//添加并显示

[self.view.layer addSublayer:self.shapeLayer];

// Do any additional setup after loading the view.

CABasicAnimation*pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];

pathAnimation.duration=1.0f;

pathAnimation.timingFunction= [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

pathAnimation.fromValue=@0.0f;

pathAnimation.toValue=@(1);

[self.shapeLayer addAnimation:pathAnimation forKey:@"strokeEndAnimation"];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容