2010-12-02 99 views
0

我有一个UIView上的动画块,并想通过我的animationDidStopSelector一个对象,以便当我的动画完成时,该对象可以从数组中删除。通过@选择器对象

以下代码不起作用。

[UIView setAnimationDidStopSelector:@selector(animationDidStopWithObject:)]; 
    self.dialogController.view.alpha=1; 
[UIView commitAnimations]; 

    [self.view addSubview:self.dialogController.view]; 
} 

- (void)animationDidStopWithObject:(NSString*)obj { 
    [items removeObject:obj]; 
    [self.tableView reloadData]; 
} 

我该如何将我的选择器传递给对象?

谢谢

回答

2

检查UIView参考。选择传递给+ setAnimationDisStopSelector:方法必须是形式

- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context 

你可以通过你的对象使用的动画背景下,选择的(void *的指针参数+ beginAnimations通过:背景:电话)

+0

谢谢...我想用块API(更简单),但不能用于传统用户。 – joec 2010-12-02 12:30:52

0

你的选择需要遵循签名:

- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context

而且通过它的自定义对象,这就是context是做什么用的:你[UIView beginAnimations:someId context:yourCustomObject];设置。请注意,yourCustomObject不会保留!