我在平移手势识别器中使用以下代码行:
CGPoint translation = [sender translationInView:self.view];
如果我将相关处理移至长按手势识别器,则没有 translationInView 方法。
我的问题是,如果使用长按识别器,如何获得相同的翻译值?
谢谢
我在平移手势识别器中使用以下代码行:
CGPoint translation = [sender translationInView:self.view];
如果我将相关处理移至长按手势识别器,则没有 translationInView 方法。
我的问题是,如果使用长按识别器,如何获得相同的翻译值?
谢谢
感谢您的回复。我真正想要的是translationInView 的计算,它与locationInView 不同。我用以下代码解决了这个问题:
CGPoint location = [sender locationInView:self.view];
CGPoint translation;
translation.x = location.x - viewStartLocation.x;
translation.y = location.y - viewStartLocation.y;
它确实需要我跟踪起始位置,这与平移手势识别器无关,但它似乎运行良好。我的其余代码以翻译而不是位置为中心,所以我试图避免为了一致性而重写其他代码。
再次感谢您花时间回复。
CGPoint location = [recognizer locationInView:self.view];
对于 UILongPressgestureRecognizerv 它不是视图中的翻译,它是 locationInView 。
-(void)handleLongPress:(UILongPressGestureRecognizer *)recognizer {
CGPoint location = [recognizer locationInView:self.view];
switch (recognizer.state) {
case UIGestureRecognizerStateBegan:
break;
case UIGestureRecognizerStateChanged:
break;
case UIGestureRecognizerStateEnded:
break;
default:
break;
}
}
希望它会帮助你。