Ios UIImageView来回反弹
我有一个UIImage,当我点击它时,我希望它在X方向移动2px,在Y方向移动2px,然后移回原始位置。这样它就可以被按下多次,只需轻轻摇动 到目前为止,我得到的是这个Ios UIImageView来回反弹,ios,xcode,uiimageview,cgpoint,Ios,Xcode,Uiimageview,Cgpoint,我有一个UIImage,当我点击它时,我希望它在X方向移动2px,在Y方向移动2px,然后移回原始位置。这样它就可以被按下多次,只需轻轻摇动 到目前为止,我得到的是这个 imageViewTwo.center = CGPointMake(imageViewTwo.center.x +2, imageViewTwo.center.y +2); 这使图像向每个方向移动2倍 我试过这个 imageViewTwo.center = CGPointMake(imageViewTwo.center.x +
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中
我需要的是让它在被点击到原始位置后立即返回。尝试使用动画
[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);
}];
}
}];
尝试使用动画
[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);
}];
}
}];
我猜您的第二个代码执行得太快了,以至于没有显示在屏幕上。您是否考虑过使用一个面向动画的类来执行此“抖动”?看看这个问题,它展示了如何使用动画,不同的动作,但你可以调整坐标。我猜您的第二个代码执行得太快了,以至于没有显示在屏幕上。您是否考虑过使用一个面向动画的类来执行此“抖动”?看看这个问题,它展示了如何使用动画,不同的动作,但你可以调整坐标。如果有效的话,一定要投票并记为正确答案。回答问题的人会花自己的时间帮助别人解决问题。如果成功了,一定要提高投票率,并将其标记为正确答案。回复的人花自己的时间帮助别人。