方法 selectRow(at:animated:scrollPosition:) 不调用 tableView(_:didSelectRowAt:)

Posted

技术标签:

【中文标题】方法 selectRow(at:animated:scrollPosition:) 不调用 tableView(_:didSelectRowAt:)【英文标题】:The method selectRow(at:animated:scrollPosition:) doesn't call tableView(_:didSelectRowAt:) 【发布时间】:2017-03-02 09:27:30 【问题描述】:

我想通过selectRow(at:animated:scrollPosition:) 设置默认选中行。但是文档说调用这个方法不会导致代理收到tableView(_:didSelectRowAt:) 消息。

如何设置默认选中行并调用tableView(_:didSelectRowAt:)

【问题讨论】:

你可以打电话给自己tableView(_:didSelectRowAt:) 重复请查看***.com/questions/2035061/… 【参考方案1】:

您可以拨打tableView(_:didSelectRowAt:)

selectRow(at:animated:scrollPosition:)之后

【讨论】:

【参考方案2】:

我只需要以编程方式调用tableView(_:didSelectRowAt:)

【讨论】:

【参考方案3】:

这对你有用。

tableView.delegate = self

在 viewWillAppear() 或 viewDidLoad 几毫秒后,调用:

tableView.selectRow(at: <IndexPath?>, animated: <Bool>, scrollPosition: <UITableViewScrollPosition>)

在这里分享你完整的源代码,这样可以给你更好的建议。

【讨论】:

以上是关于方法 selectRow(at:animated:scrollPosition:) 不调用 tableView(_:didSelectRowAt:)的主要内容,如果未能解决你的问题,请参考以下文章

scrollToRow(at:at:animated:) SwiftUI

iOS 在tableview的侧滑事件里执行tableView.selectRow无效的解决办法

Swift - 在 tableView.selectRow 中更改背景颜色

UIPicker - selectRow:12 inComponent:0 动画:NO 不工作(12 或超过 12)

treegrid and datagrid ctrl or shift selectRow

DevExpress GridView 如何通过代码选中行?