ios - 基于 block 的动画不起作用 : Animations and Completion Blocks are Executed Immediately (Without Duration)

标签 ios objective-c uiviewanimation

我尝试为 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/

相关文章:

iphone - CLLocationManager 在发布时崩溃,但为什么呢?

ios - 许多不同字符串之间的 Swift UIView.animate

ios - 一局中有多个skshapenode?

iOS Swift 从普通导航栏过渡到透明栏

ios - 即使调用了 removeAllChildren,SpriteKit 中的内存也会增加

c - Objective-C 和 C 的互操作性

ios - 适用于 iOS 的 Eureka 表格 - 可变行高?

objective-c - 在 NSXMLParser 委托(delegate)方法中解码百分比转义字符串

ios - 暂停计时器、UIView 动画和音频 iOS

ios - 在 UIView 动画循环中重复延迟?