UIImageView подпрыгивает вперед и назад

У меня есть UIImage, когда я нажимаю на него, я хочу, чтобы он переместился на 2 пикселя в направлении X и на 2 пикселя в направлении Y, а затем вернулся в исходное положение. Так что его можно нажимать несколько раз и просто покачивать.

Что у меня так далеко, так это;

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

Это заставляет изображение двигаться на 2 пикселя в каждом направлении.

Я попробовал это;

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

но это только заставило изображение не двигаться вообще. Эти строки находятся в viewDidLoad.

Что мне нужно, так это вернуть его сразу после того, как он был нажат в исходное положение.

1 ответ

Решение

Попробуйте использовать анимацию

    [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);
              }];
         }
     }];
Другие вопросы по тегам