我尝试为 UIView 的某些功能设置动画,无论如何,我将所有内容简化为“ViewController.m”中的这些代码行:
- (void)viewDidLoad {
...
[UIView animateWithDuration: 5.0 animations:^{
NSLog(@"animations");}
completion:^(BOOL finished){NSLog(@"completion");}];
}
尽管动画应该持续 5 秒,但加载后两个 block 都会立即输出。
最佳答案
您不能在 viewDidLoad
中使用 block 动画,因为您要设置动画的 UIView 目前没有父 View 。将代码移至 viewDidAppear
方法。
关于ios - 基于 block 的动画不起作用 : Animations and Completion Blocks are Executed Immediately (Without Duration),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227878/