如何在UIView transitionWithView之后运行代码?

Fel*_*EEK 8 objective-c uiview uiviewanimation ios

我希望在动画完成后运行一段代码,但编译器显示以下错误:"不兼容的块指针类型向'void(^)(BOOL)'类型的参数发送'void(^)(void)'"

这是我的代码,我不确定我做错了什么,请帮助,谢谢.

[UIView transitionWithView:self.view duration:1.5
                   options:UIViewAnimationOptionTransitionFlipFromBottom //change to whatever animation you like
                animations:^ {
                    [self.view addSubview:myImageView1];
                    [self.view addSubview:myImageView2];
                }
                completion:^ {
                    NSLog(@"Animations completed.");
                    // do something...
                }];
Run Code Online (Sandbox Code Playgroud)

Rya*_*los 14

你只是有错误的块类型:)它需要一个像下面这样的块.关键是^(BOOL finished) {...}

[UIView transitionWithView:self.view duration:1.5
                   options:UIViewAnimationOptionTransitionFlipFromBottom //change to whatever animation you like
                animations:^ {
                    [self.view addSubview:myImageView1];
                    [self.view addSubview:myImageView2];
                }
                completion:^(BOOL finished){
                    if (finished) {
                        // Successful
                    }
                    NSLog(@"Animations completed.");
                    // do something...
                }];
Run Code Online (Sandbox Code Playgroud)