在UITableView上没有调用LongPress手势

时间:2018-06-01 18:34:52

标签: ios objective-c uitableview uilongpressgesturerecogni

在iOS应用程序中,我有一个UITableView(不是UITableViewController的一部分),我想通过以下方法检测长按自定义UITableViewCells:

- (void)viewDidLoad
{
    myTableView.delegate=self;
    myTableView.dataSource=self;

    UILongPressGestureRecognizer *longTap = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTapGestureCaptured:)];
    longTap.minimumPressDuration=0.5f;
    longTap.delegate=self;
    [myTableView addGestureRecognizer:longTap];
    [super viewDidLoad];
}

-(void)longTapGestureCaptured:(UILongPressGestureRecognizer *)gesture
{
    NSLog(@"Long tap"); // never called
}

然而,当我长按时,永远不会调用longTapGestureCaptured。怎么解决这个问题?

2 个答案:

答案 0 :(得分:1)

我尝试了你的代码。它100%为我工作。但是代码中的小变化是......

keyof T

答案 1 :(得分:0)

即使是UITableview,也可以添加longPress。但是当表有单元格时,表格的单元格会在UITableView上结束,所以你不能在TableView上使用longPress。为您重新加载即使在每个Cell of Table上也添加longPress。通过添加代码,即使对于函数cellAtIndex中的每个单元格,也可以添加longPress。祝你好运。