UIPanGesture を使用して、iPhone の画面上で画像を移動しています。一部の画像は小さく、それらを指で動かすと、画像自体が見えにくくなります。移動中に画像の中心を設定して、画像の中心が実際にはタッチ位置に設定するのではなく、タッチ位置の10ポイント前になるようにします。
以下をテストしましたが、Y から 10 を繰り返し減算することで、一定の 10 ポイントのオフセットを維持するのではなく、画像がタッチ位置からどんどん遠ざかり、最終的には画面から外れることにすぐに気付きました。
これをどのように行う必要がありますか?
- (void) TestGestureMethod:(UIPanGestureRecognizer *) panGesture {
CGPoint translation = [panGesture translationInView:self.view];
switch (panGesture.state) {
case UIGestureRecognizerStateBegan:
[self.view bringSubviewToFront:testObject];
break;
case UIGestureRecognizerStateChanged:
testObject.center = CGPointMake(testObject.center.x + translation.x,
testObject.center.y + translation.y);
testObject.center = CGPointMake(testObject.center.x, testObject.center.y - 10);
break;
case UIGestureRecognizerStateEnded:
break;
}
[panGesture setTranslation:CGPointZero inView:self.view];
}