在我的UITableViewCell子类中,我添加了一个平移手势,在gestureRecognizerShouldBegin
方法中我检查self.frame.origin.x
和self.frame.origin.y
两者都是0.000000 and 0.000000
,并且在应用TranslationInView
{{ 1}}我得到了CGPoint translation = [gestureRecognizer translationInView:[self superview]];
x=-4.000000 and y=0.000000
如何工作,我试图绕过它,当我得到单元格0.0和0.0的正确位置时,因为第一个单元格将具有0.0和0.0,为什么我需要{{1} }。
答案 0 :(得分:9)
TranslationInView是UIPanGestureRecognizer的一种方法,它可以告诉您自上次重置以来触摸的移动距离。当触摸发生故障或您自己重置时,它会重置。
例如
- (void) pan: (UIPanGestureRecognizer *) recognizer
{
if ((recognizer.state == UIGestureRecognizerStateChanged)||(recognizer.state == UIGestureRecognizerStateEnded)) {
CGPoint translation = [recognizer translationInView:self];
}
}
CGPoint的翻译会增加/减少手势移动的距离。