试图了解TranslationInView

时间:2014-12-07 20:02:30

标签: ios objective-c uitableview uipangesturerecognizer

在我的UITableViewCell子类中,我添加了一个平移手势,在gestureRecognizerShouldBegin方法中我检查self.frame.origin.xself.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} }。

1 个答案:

答案 0 :(得分:9)

TranslationInView是UIPanGestureRecognizer的一种方法,它可以告诉您自上次重置以来触摸的移动距离。当触摸发生故障或您自己重置时,它会重置。

例如

- (void) pan: (UIPanGestureRecognizer *) recognizer
{
 if ((recognizer.state == UIGestureRecognizerStateChanged)||(recognizer.state ==    UIGestureRecognizerStateEnded)) {
    CGPoint translation = [recognizer translationInView:self];
    }
} 

CGPoint的翻译会增加/减少手势移动的距离。