2012-07-01 62 views
2

做使用一些核心动画后,虽然停止:仍然得到动画使用它们

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

    [self setAffineTransform:CGAffineTransformIdentity]; 

    [UIView commitAnimations]; 

我发现,如果我只火了一个属性的变化,它仍然会使用动画,而不是简单地改变属性。例如setAffineTransform ... 这是iOS的动画固有的东西吗?我在代码中丢失了什么或者什么东西一定是错的?

谢谢!

+0

请显示您使用的实际代码。例如,某些图层属性更改是隐式动画的。 – jrturton

+0

添加到问题中。 SetAffineTransform。它也发生在图层的不透明度上。 – Ted

回答

1

setAffineTransform:是CALayer上的方法,而不是UIView,就像您提到的不透明度一样。对这些属性的更改会隐式生成动画,也就是说,设置这些属性会导致图层生成新值,而不是立即切换。

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

+0

宝贵的信息,谢谢! – Ted

相关问题