我有一个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中。
我需要的是让它在被点击到原始位置后立即返回。
答案 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);
}];
}
}];