将UIPanGesture添加到UITableViewCell

时间:2015-03-09 02:00:21

标签: ios objective-c uitableview

我的UIViewController包含UITableView并且符合UITableViewDelegateUITableViewDatasource。我在UITableViewCell中将prototype cell设计为Storyboardcellsubview名为 ViewA 。当用户平移一个单元格时,我希望 ViewA 随手势一起移动。我有两个相关的问题:

第1部分

我应该将UIPanGesture添加到tableview还是cell

第2部分

如果我应该将它添加到单元格中,我应该在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath吗?

中执行此操作

第3部分

如果我想获得cell然后移动 ViewA ,我将如何在我的平移功能中执行此操作?我目前有:

- (void)didPan:(UIPanGestureRecognizer *)recognizer {

    CGPoint velocity = [recognizer velocityInView:self.view];
    CGPoint translation = [recognizer translationInView:self.view];

    if (recognizer.state == UIGestureRecognizerStateEnded) {
        CGPoint swipeLocation = [recognizer locationInView:self.tableview];
        NSIndexPath *swipedIndexPath = [self.tableview indexPathForRowAtPoint:swipeLocation];
        UITableViewCell *cell = [self.tableview cellForRowAtIndexPath:swipedIndexPath];
    } else {

    }
}

1 个答案:

答案 0 :(得分:0)

Yu必须为UITableViewCell创建一个自定义类,并将panGestureRecognizer仅添加到自定义类中的单元格中。

这里有一个很好的教程

http://www.raywenderlich.com/62435/make-swipeable-table-view-cell-actions-without-going-nuts-scroll-views

希望这有帮助。