尽管停止使用动画仍然在动画

时间:2012-07-01 09:23:10

标签: ios xcode animation

使用以下方法完成一些核心动画后

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];

    [self setAffineTransform:CGAffineTransformIdentity];

    [UIView commitAnimations];

我注意到,如果我只是启动属性的更改,它仍然会使用动画而不是简单地更改属性。例如setAffineTransform ... 这是iOS上的动画固有的东西吗?我错过了我的代码中的某些内容或错误吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

setAffineTransform:是CALayer上的一种方法,而不是UIView,你也提到了不透明度。对这些属性的更改是隐式动画的,也就是说,设置它们会使图层动画化为新值而不是立即切换。

隐式动画属性列表为here。要禁用隐式动画,请在CATransaction中包装更新,并禁用隐式动画,如here所述。