隐含的事情表现良好。但是,当我尝试使用显式动画在单个图层上执行多个动画(例如不透明度和平移)时,我会得到奇怪的结果。CALayer显式动画不能正常工作
首先,我尝试使用CATransaction。然后我切换到CAAnimationGroup。两者似乎都没有得到我想要的。
我想要什么? 我只需要一层图层从一个点移动到另一个图层,并使用初始不透明度和目标不透明度。而已!
我在看什么? 下面是一个例子...
当执行交易开始/提交时,翻译看起来是正确的,但不透明度不是。我的开始不透明度为0,目标不透明度为0.5。 但是当我运行动画时,它会混合到0.5,但随后会“捕捉”到1.0(完全不透明)。
我试着将removedOnCompletion设置为NO。但那也没有帮助。 我认为底线是我需要知道AnimationGroup和Transaction之间的区别。
有人可以解释这一点,可能是什么即时看到我的动画奇怪?
谢谢!
您应该可以通过设置图层的alpha值和位置属性来隐式设置这些属性的动画效果。听起来像你在正确的轨道上。将它们堆叠在一起进行CATransaction begin/commit,它们将以原子方式动画化。如果无法正常工作,请发布您的代码。 – 2009-08-27 10:26:04
隐式动画工作,但id喜欢明确创建它们,当动画完成时我可以处理完成的事件。 – AlvinfromDiaspar 2009-08-28 05:28:25