setAnimationDidStopSelector @selector没有运行方法

时间:2011-10-14 15:36:51

标签: iphone objective-c ios xcode

我以前在我的应用程序中使用了这个,并且查看了所有我无法找到差异的内容,但出于某种原因,当我运行时:

-(void)moveSelectorToDisplayPosition:(id)sender{

    int givenTag = [sender tag];
    UIImageView *tempImageView = [displayedSelections objectAtIndex:givenTag];



    [UIView beginAnimations:@"" context:NULL];
    [UIView setAnimationDuration:.3];
    tempImageView.frame = CGRectOffset(tempImageView.frame, 30 - tempImageView.frame.origin.x,  240 - tempImageView.frame.origin.y);
    [UIView setAnimationDidStopSelector:@selector(loadInTextForSelectedTool:)];
    [UIView commitAnimations]; 
}

loadInTextForSelectedTool没有被调用,我无法弄清楚原因。没有错误或任何东西。

这是我试图运行的方法,任何人都可以告诉我,如果他们看到任何错误或者我可能忘记了什么?我也尝试设置[UIView setAnimationDelegate:tempImageView];但没有运气:(。

-(void)loadInTextForSelectedTool:(id)sender;

感谢。

2 个答案:

答案 0 :(得分:4)

您需要将委托设置为实现loadInTextForSelectedTool:

的控制器
[UIView setAnimationDelegate:self];

此外,根据文档,选择器应具有以下形式:

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

最后,Apple不鼓励在iOS 4.0或更高版本中使用此动画方法:

  

在iOS 4.0及更高版本中不鼓励使用此方法。你应该用   基于块的动画方法来指定你的动画。

答案 1 :(得分:0)