未调用 UITableView didSelectRow
UITableView didSelectRow not called
在一个 iOS 应用程序中,我有一个 ViewController,它有一个 ContainerView,其中有一个 ViewController(比如 VC2),使用 Embed Segue。此 VC2 拥有一个 UITableView,它的数据源和委托设置为 VC2,并且还符合 UITableViewDataSource 和 UITableViewDelegate 协议。
现在单元格被完美呈现,所以数据源看起来不错。但是当我尝试连续 select 时,没有任何反应,所以委托似乎有问题。
但是,委托方法 willDisplayCell 和 shouldHightlightRowAt 确实会被调用。而且我只实现了这些方法来检查委托是否设置正确。不,我 NOT 实现了 didDeselectRowAt 方法,这是一个常见的错误。
在 IB 中,tableview 拥有两个动态原型单元格,Selection 属性 设置为 Single Selection 和 样式 设置为普通。 UITableViewCells 的 Style 设置为 Custom 并且 Selection 设置为 Default .
为什么不调用 didSelectRowAt 方法?我确实检查了 isEditing 属性,它被设置为 false;编辑与我的情况无关。
这是我的 didSelect 方法:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("didSelectRowAt (indexPath.row)")
}
我用Swift4.
对不起,Xcode 似乎让我很为难。
我刚刚从情节提要中删除了 ViewController 并再次从头开始构建它。还为 VC 创建了一个新文件,现在一切正常。有时,要走的路是删除所有工作并重新开始,在这种特殊情况下......它是。
我真的说不出是什么原因;但似乎故事板文件中的某些东西搞砸了。至少,这是我最好的猜测。
浪费了一些时间...无论如何感谢您的参与...
在一个 iOS 应用程序中,我有一个 ViewController,它有一个 ContainerView,其中有一个 ViewController(比如 VC2),使用 Embed Segue。此 VC2 拥有一个 UITableView,它的数据源和委托设置为 VC2,并且还符合 UITableViewDataSource 和 UITableViewDelegate 协议。 现在单元格被完美呈现,所以数据源看起来不错。但是当我尝试连续 select 时,没有任何反应,所以委托似乎有问题。 但是,委托方法 willDisplayCell 和 shouldHightlightRowAt 确实会被调用。而且我只实现了这些方法来检查委托是否设置正确。不,我 NOT 实现了 didDeselectRowAt 方法,这是一个常见的错误。
在 IB 中,tableview 拥有两个动态原型单元格,Selection 属性 设置为 Single Selection 和 样式 设置为普通。 UITableViewCells 的 Style 设置为 Custom 并且 Selection 设置为 Default .
为什么不调用 didSelectRowAt 方法?我确实检查了 isEditing 属性,它被设置为 false;编辑与我的情况无关。
这是我的 didSelect 方法:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("didSelectRowAt (indexPath.row)")
}
我用Swift4.
对不起,Xcode 似乎让我很为难。 我刚刚从情节提要中删除了 ViewController 并再次从头开始构建它。还为 VC 创建了一个新文件,现在一切正常。有时,要走的路是删除所有工作并重新开始,在这种特殊情况下......它是。
我真的说不出是什么原因;但似乎故事板文件中的某些东西搞砸了。至少,这是我最好的猜测。
浪费了一些时间...无论如何感谢您的参与...