在使用UIProgressView实现进度条功能时,有些时候并非一定能达到设计的需要。所以我们可以使用CAShapeLayer进行自定义开发类似于进度条的功能。
CAShapeLayer *progressView = [CAShapeLayer layer];
// 添加到父视图图层
[self.view.layer addSublayer:progressView];
// 设置位置大小
progressView.frame = CGRectMake(0.0, 0.0, weakSelf.frame.size.width, 3.0);
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0, progressView.frame.size.height / 2)];
[path addLineToPoint:CGPointMake(self.view.frame.size.width, progressView.frame.size.height / 2)];
progressView.path = path.CGPath;
// 进度条宽度
progressView.lineWidth = 3.0;
// 进度条颜色
progressView.strokeColor = [UIColor colorWithRed:0.000 green:0.640 blue:1.000 alpha: