2014-12-07 162 views
6

在我的UITableViewCell子類我添加了一個平移手勢和gestureRecognizerShouldBegin方法我檢查self.frame.origin.xself.frame.origin.y都是0.000000 and 0.000000和應用TranslationInViewCGPoint translation = [gestureRecognizer translationInView:[self superview]];後,我得到x=-4.000000 and y=0.000000試圖瞭解TranslationInView

如何TranslationInView工作,我試圖總結我的頭在它周圍,當我獲得單元格0.0和0.0的正確位置時,因爲第一個單元格將具有0.0和0.0,爲什麼我需要TranslationInView

回答

9

TranslationInView是UIPanGestureRecognizer的一種方法,它告訴你觸摸自上次重置以來移動的距離。它會在觸摸關閉或您自己重置時重置。

例如

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

的CGPoint翻譯中得到增加,所述手勢已經移動的距離和/降低。