【发布时间】:2009-02-11 15:52:41
【问题描述】:
我正在使用视图的 CALayer 上的 CAKeyframeAnimation 为 UIView 的 frame 属性设置动画,并为“position”属性设置动画。当用户点击屏幕时,我希望能够在当前状态下停止动画,但我无法这样做。
我可以通过调用很容易地停止动画
[view.layer removeAnimationForKey:kFrameAnimationKey];
问题是视图的框架和图层的位置都没有直接由动画更新。如果我在动画开始和结束时查看位置属性
- (void)animationDidStop:(CAAnimation *)animation finished:(BOOL)finished
它没有改变。
似乎您需要在动画停止时明确执行此操作。但是如果动画在某个任意点停止,你不知道它走了多远。所以问题是如何让动画在运行时更新图层的位置属性,或者如何知道动画在停止时已经走了多远。
【问题讨论】:
标签: iphone cocoa core-animation