弧形滑动条-Swift

最近刚做完一个小项目,以下是App中的一张截图。为了用户体验,因此将滑动条设计成了弧形,接下来我们来分析以下它的实现:


弧形滑动条-Swift_第1张图片
ArcSlider 效果图

首先,分析一下这个圆弧形进度条的组成:

黑色虚线背景、白色虚线进度、圆形滑动块、手势交互等

然后,我们将可能用到的参数定义成变量:

弧形滑动条-Swift_第2张图片
滑块参数
弧形滑动条-Swift_第3张图片
圆弧参数

以下是一些计算参数:

弧形滑动条-Swift_第4张图片
计算滑块的中心坐标
弧形滑动条-Swift_第5张图片
圆弧的计算参数
弧形滑动条-Swift_第6张图片
计算进度值

其次,当交互时需要动态去改变一些参数:

弧形滑动条-Swift_第7张图片
开始
弧形滑动条-Swift_第8张图片
滑动
弧形滑动条-Swift_第9张图片
停止

最后,我们只需要按照已有的参数去画出进度条即可:

弧形滑动条-Swift_第10张图片
绘制进度条

当然,还可以对进度条做一些设置:

弧形滑动条-Swift_第11张图片
使能控制
弧形滑动条-Swift_第12张图片
设置值时的动画实现

好了,以上就是圆弧形进度条的完整实现,详细的说明都已近注释在了代码中,不妨动手实现一下吧!

你可能感兴趣的:(弧形滑动条-Swift)