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

时间:2013-01-18 19:37:52

标签: ios objective-c uiview uiviewanimation

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

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

[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...
                }];

1 个答案:

答案 0 :(得分: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...
                }];