正如您所知,苹果鼓励我们在iOS 4.0及以上版本使用一种称为基于块的动画的新方法。
我很想知道基于块的动画相比起begin/end样式动画更加优越,比如:
- 性能?
- 并发?
- 编码效率和便利性?
正如您所知,苹果鼓励我们在iOS 4.0及以上版本使用一种称为基于块的动画的新方法。
我很想知道基于块的动画相比起begin/end样式动画更加优越,比如:
我曾经也对这个感到困惑。
但是在使用像这样的块级动画之后:
[UIView animateWithDuration:0.5 ... ^{
// animated custom view vertically
} completion:^{
[UIView animateWithDuration:0.5 ... ^{
// animate the fade in alpha of buttons
}];
}];
主要是为了方便。
使用块不会有太多性能改进。所以这方面可能没什么变化。我认为所有用于动画的块语法只是调用旧方法(或通过调用类似的内部方法实现),并在你执行beginAnimation和commitAnimation之间运行块。
所以,主要是为了方便。我建议出于这个原因而使用它。它更容易使用,使嵌套动画和完成后执行其他操作变得容易,因为您不需要创建其他方法来调用完成 - 它只是另一个块。