如何在动画完成后调用函数

时间:2011-04-11 08:57:14

标签: ipad nstimer

[self performSelector:@selector(callFunction) withObject:nil afterDelay:0 ]

在功能上。       - (void)callFunction {

imageview = [[[UIImageView alloc] initWithFrame:CGRectMake(x,y,w,h)]autorelease];
imageview.image = [[UIImage imageNamed: [NSString stringWithString:name]]autorelease];
[self.view addSubview:imageview];
imageview.frame = CGRectMake(imageview.frame.origin.x, (imageview.frame.origin.y),    imageview.frame.size.width, imageview.frame.size.height);
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
//[UIView setAnimationWillStartSelector:@selector(Transform2)];



[UIView setAnimationDuration:k_AnimateTime];

[UIView setAnimationBeginsFromCurrentState:YES];
//[UIView setAnimationDidStopSelector:@selector(increaseCount)];
imageview.frame = CGRectMake(imageview.frame.origin.x - Ex, (imageview.frame.origin.y - Ey), imageview.frame.size.width, imageview.frame.size.height);
    CGAffineTransform rotate0 = CGAffineTransformMakeRotation(0.00);
CGAffineTransform moveLeft0 = CGAffineTransformMakeTranslation(0.9,0.9);
CGAffineTransform combo10 = CGAffineTransformConcat(rotate0, moveLeft0);

CGAffineTransform zoomOut0 = CGAffineTransformMakeScale(1.1,1.1);
CGAffineTransform transform0 = CGAffineTransformConcat(zoomOut0, combo10);
imageView.transform = transform0;

[UIView commitAnimations];

[self.view addSubview:imageview];

}

如何使用NSTimer在10秒后调用函数但转换不起作用。 请建议我在动画完成后如何调用函数。

1 个答案:

答案 0 :(得分:3)

你可以在动画结束后启动计时器。在你的情况下,你应该开始时间

[NSTimer scheduledTimerWithTimeInterval:k_AnimateTime target:self selector:@selector(yourfunction) userInfo:nil repeats:NO];