从动画块中排除

时间:2010-07-23 00:26:37

标签: iphone animation

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
...
[UIView commitAnimations];

例如,我需要有条件地为帧的宽度设置动画,以及其他强制性的修改。我不能把代码放出这个块的原因,因为块内有一个函数调用。 如何从动画块中排除某些操作?

2 个答案:

答案 0 :(得分:9)

结帐setAnimationsEnabled

[UIView beginAnimations:@"Ani" context:NULL];
[UIView setAnimationDuration:1.0];
  // some animations
[UIView setAnimationsEnabled:NO];
  // animations disabled (put exclusions here)
[UIView setAnimationsEnabled:YES];
  // some more animations
[UIView commitAnimations];  

答案 1 :(得分:0)

以下是基于块的方式:

[UIView performWithoutAnimation:^{
    view.frame = CGRectMake(...);
}];