iOS:如何完成循环"放大/缩小"动画

时间:2015-05-29 22:59:37

标签: ios animation geometry interaction

如何使用iOS实现此效果:

arrows demo app

如果上述GIF不能自我解释,则要求为:

  1. 波形中的条形必须可根据长度和颜色进行配置
  2. 触摸波形并滚动到"剪辑"范围,波形"缩小"意味着条的宽度和它们之间的距离减小,条的数量增加
  3. 当波形被释放时,波形"放大"意味着条的宽度和它们之间的距离增加,条的数量减少
  4. 解决方案A:

    我尝试使用 CAReplicatorLayer (在activity indicator tutorial之后),我能够满足要求#1和#2。我无法控制单个条的长度和颜色。

    解决方案B:

    我尝试使用 CGPathCreateCopyByDashingPath (在此thread之后),但我对条形属性的控制更少(我无法控制长度,颜色或宽度)。

    其他想法:

    • 创建圆圈贝塞尔路径
    • 在路径中添加栏
    • 添加关键路径动画以在路径周围移动条(如this tutorial
    • 调整所有条的宽度
    • 使用UIKit Dynamics(例如重力)将条形吸引到圆形路径的底部,然后缩小"并将重力移至"放大"

0 个答案:

没有答案