0

我在我的 iPhone 应用程序中使用滑动手势识别器来执行 IBAction。我在视图中间有一个图像,当我向左滑动时,我希望图像向左移动一点,然后弹回原来的位置,就像用橡皮筋强迫它一样. 谁能帮我这个?谢谢!

4

1 回答 1

0

我用过UIView animateWithDuration。我必须嵌套它们才能有弹跳,并为每个提供一个开始和结束帧。

这是一些丑陋的代码,这可能是最好的方法,但我不确定:

CGRect bounceUpFrameFirst = [[UIScreen mainScreen] bounds];
bounceUpFrameFirst.origin.y = bounceUpFrameFirst.origin.y - 30.0;
CGRect bounceUpFrameSecond = [[UIScreen mainScreen] bounds];
bounceUpFrameSecond.origin.y = bounceUpFrameFirst.origin.y - 15.0;
CGRect bounceUpFrameThird = [[UIScreen mainScreen] bounds];
bounceUpFrameThird.origin.y = bounceUpFrameFirst.origin.y - 10.0;
CGRect bounceDownFrame = [[UIScreen mainScreen] bounds];

[UIView animateWithDuration:0.1 animations:^{[wakeView setFrame:bounceUpFrameFirst]; [sleepView setFrame:bounceUpFrameFirst];} completion:^(BOOL finished){[UIView animateWithDuration:0.1 animations:^{[wakeView setFrame:bounceDownFrame]; [sleepView setFrame:bounceDownFrame];} completion:^(BOOL finished){[UIView animateWithDuration:0.1 animations:^{[wakeView setFrame:bounceUpFrameSecond]; [sleepView setFrame:bounceUpFrameSecond];} completion:^(BOOL finished){[UIView animateWithDuration:0.1 animations:^{[wakeView setFrame:bounceDownFrame]; [sleepView setFrame:bounceDownFrame];} completion:^(BOOL finished){[UIView animateWithDuration:0.1 animations:^{[wakeView setFrame:bounceUpFrameThird]; [sleepView setFrame:bounceUpFrameThird];} completion:^(BOOL finished){[UIView animateWithDuration:0.1 animations:^{[wakeView setFrame:bounceDownFrame]; [sleepView setFrame:bounceDownFrame];}];}];}];}];}];}];
于 2012-12-08T06:41:22.507 回答