Ios UITableView didSelectRowAtIndexPath只能识别两个手指的轻触

Ios UITableView didSelectRowAtIndexPath只能识别两个手指的轻触,ios,iphone,swift,uitableview,Ios,Iphone,Swift,Uitableview,当选择了UITableViewCell时,我试图显示一个UIAlertController。我已经检查了所有与故事板相关的问题,例如Selection:singleselection,甚至在viewDidLoad()顶部设置了tableView.allowselection=true。我还检查了使用didSelect而不是didSelect的问题 奇怪的是,当我同时用两个手指轻触它或者长时间按下它(大约2秒,然后松开)时,电池才会选择。这是一个已知的问题吗 func tableView(tabl

当选择了
UITableViewCell
时,我试图显示一个
UIAlertController
。我已经检查了所有与故事板相关的问题,例如
Selection:singleselection
,甚至在
viewDidLoad()顶部设置了
tableView.allowselection=true
。我还检查了使用
didSelect
而不是
didSelect
的问题

奇怪的是,当我同时用两个手指轻触它或者长时间按下它(大约2秒,然后松开)时,电池才会选择。这是一个已知的问题吗

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    print("Tap registered")
}

如能给予任何帮助,我们将不胜感激

我也有类似的问题,但看到其他帖子指出,连接到父视图的UI手势识别器是问题所在。我就是这么做的。手势识别器用于关闭键盘。因此,在UITableView中使用UIGestureRecognitor时,请务必小心。

因为这个问题已经存在很长时间了,所以我将把我的解决方案留给其他面临这个问题的人,因为我使用了这种方法,而且效果很好。 这是我的密码:

用于tableViewCell

首先,声明一个变量,我们检查null以避免表崩溃

var tapOnCell: (() -> Void)?
然后在awakeFromNib块内,我们为点击动作创建一个UITapGestureRecognitor,该手势将要求我们在单元格上点击1次

    let gesture = UITapGestureRecognizer(target: self, action: #selector(tapOnContenView))
    gesture.numberOfTapsRequired = 1
    contentView.addGestureRecognizer(gesture)
然后创建一个如下所示的函数

@objc func tapOnContenView() {
    if let tapOnCell = self.tapOnCell {
        tapOnCell()
    }
}
现在我们在tableViewCell上结束,现在是tableView的时间了

对于tableView(UITableViewDataSource)

调用我们在tableViewCell上创建的函数,并在此处使用它

cell.tapOnCell = {
        self.tapOnSingleCell(indexPath: indexPath)
    }
但首先,我们需要为单击单元格时要执行的操作创建函数,对我来说,我希望在单击单元格时转到另一个viewController

func tapOnSingleCell(indexPath: IndexPath) {

    let jobDetail: JobDetailViewController = 
JobDetailViewController.newInstance(storyboardName: .jobSearch)
    let job = self.relatedList[indexPath.row]
}
我希望这个解决方案既能帮助你,也能帮助我,加油。

你只需使用:

tap.cancelsTouchesInView = NO; 
代码:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                               initWithTarget:self
                               action:@selector(yourFunctionOnTap)];
tap.cancelsTouchesInView = NO;
[self.view addGestureRecognizer:tap];

你还有什么相关代码可以给我们看吗?您实现了任何点击手势?您使用了任何手势识别器吗?这个特定的视图控制器没有实现任何手势识别器。我也遇到了这种情况。很奇怪,这个问题有更新吗?