OS X 10.7动画停止选择器

时间:2012-04-28 01:36:41

标签: objective-c macos nsview

我正在试图弄清楚当我的nsview动画师停止时如何设置回叫。有人知道怎么做吗。

NSRect frame = blob.frame;
frame.origin.x = animationStopX;
[NSAnimationContext beginGrouping];
[[NSAnimationContext currentContext] setDuration:timeToDisappear];
[[blob animator] setFrame:frame];
[NSAnimationContext endGrouping];

2 个答案:

答案 0 :(得分:2)

在10.8上,NSAnimationContext具有completionHandler属性,您可以将其与块一起使用。

答案 1 :(得分:0)

您可以为frameOrigin动画设置委托。

CAAnimation *moveAnimation = [[blob animationForKey:@"frameOrigin"] copy];
moveAnimation.delegate = self;
[blob setAnimations:[NSDictionary dictionaryWithObject:moveAnimation forKey:@"frameOrigin"]];
[moveAnimation release];

并覆盖结束动画委托​​方法

- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag