为了实现与动画组方法相适应的动画效果,如Brad Larson在这里的回答中所示,我需要根据输入来进行动画。具体而言是根据检测到的触摸的位置和轨迹移动。虽然可以很容易地处理touchesMoved:并为每次触摸设置元素的位置,但它并不像核心动画方法那样平滑。
想象一下,一个弯曲的轨道中有一个弹珠。我想将弹珠向任意位置以任意速度推动。动画必须像这样,在响应触摸的情况下沿着路径移动视觉元素。CAKeyframeAnimation恰好具有路径部分,但似乎总是希望基于经过的时间从一帧过渡到另一帧,而不是基于其他任何因素,并且只能单向移动。
更新于1月31日-感谢大家到目前为止的回复,然而没有一个真正解决问题。我有一个圆形菜单,可以拖动选择选项。所有内容都需要一起移动,并通过使用旋转变换应用于视图并将逆旋转变换应用于其子视图来解决问题,以使所有图标的旋转角度正确。但是,当图标沿稍微椭圆形的路径移动时,它看起来更好...弹珠描述是为了清楚地说明我的意图。最好想象定向排斥的磁铁,在槽中行进-移动一个,它的邻居也会移动,但不一定朝着被拖曳的磁铁移动的方向,因为路径弯曲。
现在问题是遵循由一个圆形创建的简单路径,但我真的想知道如何沿任意路径动画对象,其位置仅由触摸控制,而不涉及速度或方向计算。
想象一下,一个弯曲的轨道中有一个弹珠。我想将弹珠向任意位置以任意速度推动。动画必须像这样,在响应触摸的情况下沿着路径移动视觉元素。CAKeyframeAnimation恰好具有路径部分,但似乎总是希望基于经过的时间从一帧过渡到另一帧,而不是基于其他任何因素,并且只能单向移动。
更新于1月31日-感谢大家到目前为止的回复,然而没有一个真正解决问题。我有一个圆形菜单,可以拖动选择选项。所有内容都需要一起移动,并通过使用旋转变换应用于视图并将逆旋转变换应用于其子视图来解决问题,以使所有图标的旋转角度正确。但是,当图标沿稍微椭圆形的路径移动时,它看起来更好...弹珠描述是为了清楚地说明我的意图。最好想象定向排斥的磁铁,在槽中行进-移动一个,它的邻居也会移动,但不一定朝着被拖曳的磁铁移动的方向,因为路径弯曲。
现在问题是遵循由一个圆形创建的简单路径,但我真的想知道如何沿任意路径动画对象,其位置仅由触摸控制,而不涉及速度或方向计算。