NSAnimationContext 完成参数?
NSAnimationContext completion parameter?
我的动画可以在几个不同的相似视图上执行(在数组中管理),但完成处理程序不带参数。那么我如何在完成时间判断我正在完成哪个动画?
以下用于为一个(多个)sectionViews 的框架设置动画。动画结束后,我需要能够向特定的 sectionView 发送通知。
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
。或者,如果它是一个实例变量、静态变量或全局变量,则在块外创建一个局部变量并用当前值初始化,然后在块中引用该局部变量。
块将捕获值。
我的动画可以在几个不同的相似视图上执行(在数组中管理),但完成处理程序不带参数。那么我如何在完成时间判断我正在完成哪个动画?
以下用于为一个(多个)sectionViews 的框架设置动画。动画结束后,我需要能够向特定的 sectionView 发送通知。
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
。或者,如果它是一个实例变量、静态变量或全局变量,则在块外创建一个局部变量并用当前值初始化,然后在块中引用该局部变量。
块将捕获值。