圆形进度条Demo

圆形进度条的 UI 交互在 iOS 里还挺常见的,像加载、任务状态那类。这个叫“进度条 demo”的项目就挺实用,用贝塞尔曲线CAShapeLayer搞出了一个蛮灵活的圆形进度条。

贝塞尔曲线在图形绘制里还挺万能的,控制点一调,曲线就能顺着你想要的方向走。项目里是用UIBezierPath来画出弧形路径,配合strokeEnd控制进度,看起来就顺滑。

CAShapeLayer的加入让整个渲染更高效,缩放也不糊。你只要控制下它的strokeEnd属性,进度就能一点点地走起来,动画效果也挺自然。

而且人家还做了封装,写了个CIrcleView的类,继承自UIView,基本的绘制逻辑都在里面了。用起来方便,拖进去改下颜色、边线宽度就行。

这个自定义组件还挺适合新手练手的,理解startAngleendAngle这些角度的运算,顺便看看图形渲染的原理,蛮值的。

如果你正好在做一个带有加载状态或者任务进度的界面,不妨把这个项目跑起来看看,参考一下它的结构和思路,顺手还能学习下贝塞尔的玩法。

zip 文件大小:57.74KB