gpt4 book ai didi

ios - 'didSelectRowAt' 未被调用

转载 作者:搜寻专家 更新时间:2023-10-30 22:02:10 24 4
gpt4 key购买 nike

我对 UITableView 委托(delegate)函数 didSelectRowAt 有疑问。一切正常,但不幸的是 didSelectRowAt 没有被调用。我阅读了其他一些关于该问题的 stackoverflow 问题,并尝试了一些解决方案,但没有一个对我有用。我做了一个代表自己的 tableview 的子类:

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 被调用了,因此委托(delegate)以某种方式工作。只有我想要的 didSelectRowAt 没有被调用。

顺便说一句,没有任何UITapGestureRecognizer

可以在这里以某种方式给我任何建议。是否有错误的属性?

最佳答案

如果你有一个父 View 分配了手势识别器,你需要做这样的事情:

self.tapGestureRecognizer = UITapGestureRecognizer(target: self, action: action)
if let tapGestureRecognizer = self.tapGestureRecognizer {
tapGestureRecognizer.cancelsTouchesInView = false
self.addGestureRecognizer(tapGestureRecognizer)
}

一旦你告诉手势识别器停止取消触摸,你的 UITableView 就会开始像往常一样对点击使用react

关于ios - 'didSelectRowAt' 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44965580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com