6

我正在使用动画师来实现动画,比如

[[self.view animator] setFrame:newFrame];

但我想在动画完成后运行一个方法或块,如下所示:

[[self.view animator] setFrame:newFrame onComplete:^{
    NSLog(@"****");
}];

有没有办法实现它?

4

2 回答 2

13

你应该使用NSAnimationContextcompletionHandler

[NSAnimationContext beginGrouping];
[[NSAnimationContext currentContext] setCompletionHandler:^{
    NSLog(@"****");
}];
[[self.view animator] setFrame:newFrame];
[NSAnimationContext endGrouping];
于 2012-09-03T05:43:39.147 回答
1

我从 WWDC 视频中找到了另一个解决方案,希望下面的代码对其他人有帮助

在此处输入图像描述

于 2012-09-07T03:29:38.917 回答