Swift DidSelectRow没有射击

时间:2017-01-26 06:40:28

标签: swift swift3

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

第一个完美无缺,我在那里有自定义视图等。

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

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

      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)

    }
  }

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

2 个答案:

答案 0 :(得分:7)

您的GestureRecognizer上是否有UIViewController,因为GestureRecognizer tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)没有被调用。

答案 1 :(得分:4)

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

 let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(CardDetailsViewController.dismissKeyboard))
view.addGestureRecognizer(tap)

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

要修复它,这个简单的行让我解除了键盘并能够点击我的单元格。

tap.cancelsTouchesInView = false