【发布时间】:2013-10-19 22:41:49
【问题描述】:
我在单元格中添加了一个 UIPanGestureRecognizer,允许用户水平滑动它。当单元格 x 原点超过 50 时,我希望单元格移动得更慢,例如 UIScrollView 限制发生的情况,但我遇到了一个问题:单元格没有按照应有的方式跟随我的手指。
我的手指在屏幕上从左向右滑动了多次,当我完成单元格时,它的位置与起始位置不同。
这是我用来移动单元格的代码(我猜我在达到 50 时创建弹性效果的方式有问题):
- (void)slideCell:(UIPanGestureRecognizer *)panGestureRecognizer {
CGFloat horizontalTranslation = [panGestureRecognizer translationInView:self].x;
if (panGestureRecognizer.state == UIGestureRecognizerStateChanged) {
CGFloat retention = 1;
if (self.frame.origin.x > 50) retention = 5;
[self setCenter:CGPointMake(self.center.x+horizontalTranslation/retention, self.center.y)];
}
[panGestureRecognizer setTranslation:CGPointZero inView:self];
}
【问题讨论】:
标签: ios uitableview uipangesturerecognizer