UIImageView反复弹跳

时间:2013-02-27 19:08:12

标签: ios xcode uiimageview cgpoint

我有一个UIImage,当我点击它时,我希望它在X方向移动2px,在Y方向移动2px,然后移回原始位置。因此可以多次按下它,然后摇晃。

到目前为止我得到的是这个;

imageViewTwo.center = CGPointMake(imageViewTwo.center.x +2, imageViewTwo.center.y +2);

这使图像每个方向移动2px。

我试过了;

imageViewTwo.center = CGPointMake(imageViewTwo.center.x +2, imageViewTwo.center.y +2);
imageViewTwo.center = CGPointMake(imageViewTwo.center.x -2, imageViewTwo.center.y -2);

但这只会使图像完全没有移动。这些行位于viewDidLoad中。

我需要的是让它在被点击到原始位置后立即返回。

1 个答案:

答案 0 :(得分:4)

尝试使用动画

    [UIView animateWithDuration:0.5
                     animations:^
     {
         //move right
         imageViewTwo.center = CGPointMake(imageViewTwo.center.x +2, imageViewTwo.center.y +2);
     }
                     completion:^(BOOL completed)
     {
         if (completed)
         {
             //completed move right..now move left
             [UIView animateWithDuration:0.5
                              animations:^
              {
                  imageViewTwo.center = CGPointMake(imageViewTwo.center.x -2, imageViewTwo.center.y -2);
              }];
         }
     }];