在我的UITableViewCell子类中,我添加了平移手势,并在gestureRecognizerShouldBegin
方法中检查了self.frame.origin.x
和self.frame.origin.y
都是0.000000 and 0.000000
,并且在应用了TranslationInView
之后CGPoint translation = [gestureRecognizer translationInView:[self superview]];
我得到了x=-4.000000 and y=0.000000
TranslationInView
如何工作,当我获得单元格0.0和0.0的正确位置时,我想把头缠起来,因为第一个单元格将具有0.0和0.0,这就是为什么我需要TranslationInView
的原因。
最佳答案
TranslationInView是UIPanGestureRecognizer的一种方法,它告诉您自上次重置触摸以来移动了多远。当触摸下降或您自行重置时,它将重置。
例如
- (void) pan: (UIPanGestureRecognizer *) recognizer
{
if ((recognizer.state == UIGestureRecognizerStateChanged)||(recognizer.state == UIGestureRecognizerStateEnded)) {
CGPoint translation = [recognizer translationInView:self];
}
}
CGPoint轨迹增加/减小了手势移动的距离。
关于ios - 试图了解TranslationInView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27347177/