UIPanGestureRecognizer translationInView 总是返回一个相对点
UIPanGestureRecognizer translationInView always returning a relative point
我有一个 UIPanGestureRecognizer
附加到我的 window 中的地图视图(并模拟识别手势,以便我可以在地图平移时接收事件)。但是由于某种原因我无法弄清楚,[UIPanGestureRecognizer translationInView:]
总是 returns 相对于平底锅原点的坐标。事实上,无论我传递给它什么视图参数,它的行为都是相同的,甚至 nil
!
我不明白为什么它不告诉我相对于我传入的视图的坐标。
self.mapViewPan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
self.mapViewPan.delegate = self;
[self.mapView addGestureRecognizer:self.mapViewPan];
*
- (void)pan:(UIPanGestureRecognizer*)sender {
CGPoint translatedPoint = [sender translationInView:self.view];
NSLog(@"%f, %f", translatedPoint.x, translatedPoint.y);
}
您有什么理由不为此使用 MKMapViewDelegate 方法吗?
mapView:regionDidChangeAnimated: 应该让您在滚动时获取地图区域。
没关系,我好像误解了translationInView:
到底代表什么。无论如何,它似乎都与触摸的起源有关(这让我想知道它的参数实际上会影响什么)。
原来我真正想要的是locationInView:
:
CGPoint touchPoint = [sender locationInView:self.view];
此 returns 触摸在视图坐标中的位置。
我有一个 UIPanGestureRecognizer
附加到我的 window 中的地图视图(并模拟识别手势,以便我可以在地图平移时接收事件)。但是由于某种原因我无法弄清楚,[UIPanGestureRecognizer translationInView:]
总是 returns 相对于平底锅原点的坐标。事实上,无论我传递给它什么视图参数,它的行为都是相同的,甚至 nil
!
我不明白为什么它不告诉我相对于我传入的视图的坐标。
self.mapViewPan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
self.mapViewPan.delegate = self;
[self.mapView addGestureRecognizer:self.mapViewPan];
*
- (void)pan:(UIPanGestureRecognizer*)sender {
CGPoint translatedPoint = [sender translationInView:self.view];
NSLog(@"%f, %f", translatedPoint.x, translatedPoint.y);
}
您有什么理由不为此使用 MKMapViewDelegate 方法吗? mapView:regionDidChangeAnimated: 应该让您在滚动时获取地图区域。
没关系,我好像误解了translationInView:
到底代表什么。无论如何,它似乎都与触摸的起源有关(这让我想知道它的参数实际上会影响什么)。
原来我真正想要的是locationInView:
:
CGPoint touchPoint = [sender locationInView:self.view];
此 returns 触摸在视图坐标中的位置。