Swift DidSelectRow没有射击

Rub*_*444 1 swift swift3

我有一个项目与几个不同的VC ...其中两个有TableViews

第一个工作得非常好,我在那里有自定义视图等.

第二个也是自定义的,它填写信息就好了,但不像第一个...我无法点击它来转向下一个VC

我正确设置了Delegate和DataSource.我的项目中有一个带有tableview的另一个VC,它运行得很好.我能想到的第一件事可能是阻止它工作是UILabel占据了90%的单元格,但我不认为是因为我将标签做得很小并尝试点击然后它仍然不会击中断点.

      func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    let row = indexPath.row

    selectedService = serviceArray[row].serviceID! as String

    if selectedService != "" {

      self.performSegue(withIdentifier: "fromCardDetailsToEditService", sender: self)

    }
  }
Run Code Online (Sandbox Code Playgroud)

我不知道它是否重要但是...我所在的VC是一个标签栏控制器和一个导航栏控制器.对于我在Tab Bar中的performSegue是否重要?而且这个按钮不是标签栏项?

Usm*_*ved 7

你有什么GestureRecognizer关于你的,UIViewController因为如果GestureRecognizer tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)没有打电话.


Rub*_*444 5

我想出了如何拥有我的手势识别器和 didSelectRowAt。

 let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(CardDetailsViewController.dismissKeyboard))
view.addGestureRecognizer(tap)
Run Code Online (Sandbox Code Playgroud)

这就是我已经拥有的,这引起了冲突。

为了解决这个问题,这个简单的行让我关闭键盘并能够点击我的单元格。

tap.cancelsTouchesInView = false
Run Code Online (Sandbox Code Playgroud)