我用下面的代碼行中平移姿勢識別器:的iOS - 姿勢識別translationInView
CGPoint translation = [sender translationInView:self.view];
如果我移動相關聯的處理,以長按手勢識別,不存在translationInView方法。
我的問題是,如果使用長按識別器,我怎樣才能獲得相同的翻譯值?
感謝
我用下面的代碼行中平移姿勢識別器:的iOS - 姿勢識別translationInView
CGPoint translation = [sender translationInView:self.view];
如果我移動相關聯的處理,以長按手勢識別,不存在translationInView方法。
我的問題是,如果使用長按識別器,我怎樣才能獲得相同的翻譯值?
感謝
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;
}
}
希望它能幫助你。
感謝您的回覆。我真正想要的是translationInView的計算,它與locationInView不同。我解決了這個用下面的代碼:
CGPoint location = [sender locationInView:self.view];
CGPoint translation;
translation.x = location.x - viewStartLocation.x;
translation.y = location.y - viewStartLocation.y;
它要求我跟蹤的起始位置,這是我沒有與泛手勢識別的事,但它似乎運作良好。我的代碼的其餘部分是圍繞翻譯而不是位置,所以我試圖避免爲了一致性而重寫其他代碼。
再次感謝您抽出時間回覆。