我使用 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];
}