我有一个带有几个不同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是否重要?而且这个按钮不是标签栏项?
答案 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