【发布时间】:2016-06-06 22:08:59
【问题描述】:
我目前正在创建一个具有两种不同状态的小按钮。每个状态由两个CAShapeLayers 表示,状态之间的转换通过一系列CAKeyframeAnimations/CABasicAnimations 进行动画处理,它们都会改变形状层的路径属性。我的问题是如何动画到从当前动画开始的状态(即在动画时按下按钮)。
通常,我会向表示层询问当前属性值并使用附加动画(完美描述here),但由于这是一个多步动画,我必须弄清楚我当前是哪一步动画,然后链接适当的动画以反转到先前的状态。但这相当棘手(我想让所有动画都为removeOnCompletion=false 并查询动画的时间偏移量以确定当前处于活动状态的动画以及多远)。
不幸的是,将图层速度设置为 0.0 并只为 timeOffset 来回设置动画也不起作用,因为我有在相反方向上表现不同的辅助动画。
为形状图层使用自定义图层属性似乎很麻烦,但我可以更轻松地将进度属性与当前动画步骤匹配。
【问题讨论】:
标签: ios swift core-animation cakeyframeanimation