圆形进度条Demo
圆形进度条的 UI 交互在 iOS 里还挺常见的,像加载、任务状态那类。这个叫“进度条 demo”的项目就挺实用,用贝塞尔曲线加CAShapeLayer搞出了一个蛮灵活的圆形进度条。
贝塞尔曲线在图形绘制里还挺万能的,控制点一调,曲线就能顺着你想要的方向走。项目里是用UIBezierPath
来画出弧形路径,配合strokeEnd
控制进度,看起来就顺滑。
CAShapeLayer的加入让整个渲染更高效,缩放也不糊。你只要控制下它的strokeEnd
属性,进度就能一点点地走起来,动画效果也挺自然。
而且人家还做了封装,写了个CIrcleView
的类,继承自UIView
,基本的绘制逻辑都在里面了。用起来方便,拖进去改下颜色、边线宽度就行。
这个自定义组件还挺适合新手练手的,理解startAngle
、endAngle
这些角度的运算,顺便看看图形渲染的原理,蛮值的。
如果你正好在做一个带有加载状态或者任务进度的界面,不妨把这个项目跑起来看看,参考一下它的结构和思路,顺手还能学习下贝塞尔的玩法。
57.74KB
文件大小:
评论区