0

iPhoneアプリのIBActionにスワイプジェスチャレコグナイザーを使用しています。ビューの中央に画像があります。左にスワイプすると、画像を少し左に移動してから、輪ゴムで押し戻されるように元の位置に戻します。 。誰かがこれを手伝ってくれますか?ありがとう!

4

1 に答える 1

0

UIViewanimateWithDurationを使用しました。バウンドさせるためにそれらをネストする必要があり、それぞれに開始フレームと終了フレームを提供しました。

これは恐ろしく醜いコードです。これが最善の方法かもしれませんが、よくわかりません。

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 に答える