0

我正在开发一个需要带有 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) 处。

动画后如何将图像停止在其原始位置。谢谢,

4

1 回答 1

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;
                                  }];

             }];
于 2013-01-30T05:55:07.560 回答