0

我有一个 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 中。

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

4

1 回答 1

5

尝试使用动画

    [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);
              }];
         }
     }];
于 2013-02-27T19:15:15.793 回答