自定义环形进度条UIAnnularProgress(Swift)
很多地方都会使用环形进度条,这里我们就继承自UIView,自定义一个环形进度条控件,可以设置进度条颜色,宽度,进度,动画效果。
我们自定义一个环型图层添加到UIView的图层上去,从而实现环形控件。我们使用CAShapeLayer类创建自己的图层。它有几个常用的属性:frame 尺寸,fillColor图层填充色,strokeColor图层边界的颜色,lineWidth 边界线宽,path 图层路径通过这个路径我们可以控制图层的形状在这里我们会给图层一个圆形路径让整个视图呈现环状,strokeStart简单点理解就是绘制的起点在这我们把它作为初始进度,strokeEnd绘制的终点它可以作为结束的进度。
我们先创建一个图层,完全绘制作为进度条的底部图形:
let path = UIBezierPath(ovalInRect: bounds).CGPath let trackLayer = CAShapeLayer()trackLayer.frame = boundstrackLayer.fillColor = UIColor.clearColor().CGColortrackLayer.strokeColor = progressProperty.trackColor.CGColortrackLayer.lineWidth = progressProperty.widthtrackLayer.path = pathlayer.addSublayer(trackLayer)
let path = UIBezierPath(ovalInRect: bounds).CGPath //这是我们以视图尺寸创建的一个内切圆,将这个圆作为路径。
接下来我们再创建一个图层,表示进度条视图的进度,并且给这个图层一个初始的进度
progressLayer.frame = boundsprogressLayer.fillColor = UIColor.clearColor().CGColorprogressLayer.strokeColor = progressProperty.progressColor
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
