如何使用iOS实现此效果:
如果上述GIF不能自我解释,则要求为:
- 波形中的条形必须可根据长度和颜色进行配置
- 触摸波形并滚动到"剪辑"范围,波形"缩小"意味着条的宽度和它们之间的距离减小,条的数量增加
- 当波形被释放时,波形"放大"意味着条的宽度和它们之间的距离增加,条的数量减少
醇>
解决方案A:
我尝试使用 CAReplicatorLayer (在activity indicator tutorial之后),我能够满足要求#1和#2。我无法控制单个条的长度和颜色。
解决方案B:
我尝试使用 CGPathCreateCopyByDashingPath (在此thread之后),但我对条形属性的控制更少(我无法控制长度,颜色或宽度)。
其他想法:
- 创建圆圈贝塞尔路径
- 在路径中添加栏
- 添加关键路径动画以在路径周围移动条(如this tutorial)
- 调整所有条的宽度
- 使用UIKit Dynamics(例如重力)将条形吸引到圆形路径的底部,然后缩小"并将重力移至"放大"