我正在开发一个需要使用imageView动画的应用程序。 在开始时,图像的位置在CGPoint(735,112)处,在点击动画按钮时,它必须移动到屏幕的左边,即指向CGPoint(20,112),并且从左到右重复动画,即指向CGPoint( 735,112),此后必须停止。我使用以下代码。
CGRect newRect=cleanStrip.frame;
[UIView beginAnimations:@"animation1" context:nil];
[UIView setAnimationDuration:3.0];
[UIView setAnimationDelegate:self];
[UIView setAnimationRepeatAutoreverses:YES];
newRect.origin.x=20;
cleanStrip.frame=newRect;
[UIView commitAnimations];
重复动画后,图像视图必须停在原始位置CGPoint(735,112)。但是上面的代码会停止CGPoint(20,112)处的图像。
如何在动画后将图像停在原始位置。 谢谢,
答案 0 :(得分:3)
您可以使用块来启动动画
__block CGRect newRect=cleanStrip.frame;
__block int originx = newRect.origin.x;
[UIView animateWithDuration:2.0
animations:^{
newRect.origin.x=20;
cleanStrip.frame=newRect;
}
completion:^(BOOL finished){
[UIView animateWithDuration:2.0
animations:^{
newRect.origin.x=originx ;
cleanStrip.frame=newRect;
}];
}];