我有一个关于UITableView
代表函数didSelectRowAt
的问题。一切工作正常,但不幸的是didSelectRowAt
不叫。我读了关于这个问题的一些其他的stackoverflow问题,并尝试了一些解决方案,但没有一个适合我。我做了这是代表他自己的tableview的一个子类:'didSelectRowAt'不被称为
class MyTableView : UITableView, UITableViewDelegate{
override func awakeFromNib() {
super.awakeFromNib()
separatorStyle = .none
backgroundView = nil
backgroundColor = UIColor.clear
isScrollEnabled = false
delegate = self
isEditing = false
allowsSelection = true
}
// func tableView(_ tableView: UITableView, didHighlightRowAt indexPath: IndexPath) {
//
// this is working
//
// }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("not called")
}
}
所以MyTableView
所有子类将实现数据源的东西,这也工作正常(如果莫名其妙地会提到这一点)。
奇怪的是,didHighlightRowAt
被调用,所以代理以某种方式工作。只有我想要的didSelectRowAt
没有被调用。
顺便说一句,没有任何UITapGestureRecognizer
。
可以以某种方式给我任何建议在这里。有哪些属性是错误的?
确保您的手机已启用用户交互 –
检查Tableview单元格是可选的并检查用户交互是否启用? –
你的视图控制器中是否有任何'UITapGestureRecognizer'? – Lawliet