基于块的动画不起作用:动画和完成块立即执行(无持续时间)
Block-Based Animation does not Work: Animations and Completion Blocks are Executed Immediately (Without Duration)
我尝试为 UIView 的某些功能设置动画,无论如何,我将所有内容简化为 "ViewController.m" 中的这些代码行:
- (void)viewDidLoad {
...
[UIView animateWithDuration: 5.0 animations:^{
NSLog(@"animations");}
completion:^(BOOL finished){NSLog(@"completion");}];
}
尽管动画应该持续 5 秒,但加载后两个块都会立即输出。
您不能在 viewDidLoad
中使用块动画,因为您要设置动画的 UIView 目前没有超级视图。将代码移动到 viewDidAppear
方法。
我尝试为 UIView 的某些功能设置动画,无论如何,我将所有内容简化为 "ViewController.m" 中的这些代码行:
- (void)viewDidLoad {
...
[UIView animateWithDuration: 5.0 animations:^{
NSLog(@"animations");}
completion:^(BOOL finished){NSLog(@"completion");}];
}
尽管动画应该持续 5 秒,但加载后两个块都会立即输出。
您不能在 viewDidLoad
中使用块动画,因为您要设置动画的 UIView 目前没有超级视图。将代码移动到 viewDidAppear
方法。