NSAnimation上下文完成参数



我的动画可以在几个不同的相似视图(在数组中管理)上执行,但完成处理程序不采用参数。那么,如何在完成时知道我正在完成哪个动画?

以下它用于对一个(几个)部分视图的帧进行动画处理。动画完成后,我需要能够向特定部分发送通知View。

NSLog(@"Animation started");
[NSAnimationContext beginGrouping];
[[NSAnimationContext currentContext] setDuration:kAnimationDuration];
[[NSAnimationContext currentContext] setCompletionHandler:^{
    [self doStuff];
    NSLog(@"Animation complete - now we need to notify the correct sectionView");
}];
[[sectionView animator] setFrame:[self frameForSectionView:sectionView]];
[NSAnimationContext endGrouping];

只需在完成处理程序块中引用sectionView。或者,如果它是实例变量、静态或全局变量,则在用当前值初始化的块之外创建一个局部变量,然后在块中引用该局部变量。

块将捕获值。

相关内容

  • 没有找到相关文章

最新更新