我的自定义控件有一个方法-setValue:animated:,它带有一个animated
标志。
在 iOS 4 之前,我会这样编写动画:
if (animated) {
[UIView beginAnimations:@"Foo"];
[UIView setAnimationDuration:5.0];
}
// ... layout views ...
if (animated) {
[UIView commitAnimations];
}
现在我写了这个:
[UIView animateWithDuration:(animated ? 5.0 : 0.0) animations:^{
// ... layout views ...
}];
但是:这会导致一些元素没有动画!
我不止一次调用此方法(第一次没有,第二次有动画),所以第二次取消动画,将我的新帧设置为“硬”(没有动画)。
如何使用块方法实现可选动画?