Table 按下行时未调用视图委托方法 (didSelectRowAt)
Table View Delegate method (didSelectRowAt) not called when row pressed
我正在尝试在用户按下 table 视图上的特定单元格/行时执行 segue。我已经实现了委托协议
extension myVC : UITableViewDelegate
这是我的 didSelectRow 函数
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "searchToOtherUser", sender: self)
}
前一个函数中还做了一些额外的事情,但是当我在函数中放置一个断点时,我可以看到应用程序永远不会进入这个函数。
我看到了前面提到的关于这个主题的一些答案(没有使用用户手势,并且启用了用户与 table 视图的交互)。
有人知道我该如何解决这个问题吗?
非常感谢
安东尼
如果内容正在加载并且 selection 已启用,则需要检查的是:
- 1) 在 swift
中以编程方式设置委托
- 2)(可选)将表格视图
delegate
设置为 File's Owner
,以防您在 Storyboard
中向 UIViewController
添加表格视图而不是创建 [=15] =](它会自动为您完成)。
检查 1 - 以编程方式设置委托
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
...
}
勾选2(只针对Storyboard中添加到UIViewController的TableView)
在通过 Interface Builder
的 Storyboard 中,您还应该 link tableview 的 delegate
到 File's Owner
:
**检查 2 - 步骤 A)**
可能不是在左侧栏中明确说明 File's Owner
,而是您可能必须这样做:
检查 2 - 备选步骤 A)
然后 select delegate
像这样:
检查 2 - 步骤 B)
我正在尝试在用户按下 table 视图上的特定单元格/行时执行 segue。我已经实现了委托协议
extension myVC : UITableViewDelegate
这是我的 didSelectRow 函数
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "searchToOtherUser", sender: self)
}
前一个函数中还做了一些额外的事情,但是当我在函数中放置一个断点时,我可以看到应用程序永远不会进入这个函数。
我看到了前面提到的关于这个主题的一些答案(没有使用用户手势,并且启用了用户与 table 视图的交互)。
有人知道我该如何解决这个问题吗?
非常感谢 安东尼
如果内容正在加载并且 selection 已启用,则需要检查的是:
- 1) 在 swift 中以编程方式设置委托
- 2)(可选)将表格视图
delegate
设置为File's Owner
,以防您在Storyboard
中向UIViewController
添加表格视图而不是创建 [=15] =](它会自动为您完成)。
检查 1 - 以编程方式设置委托
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
...
}
勾选2(只针对Storyboard中添加到UIViewController的TableView)
在通过 Interface Builder
的 Storyboard 中,您还应该 link tableview 的 delegate
到 File's Owner
:
**检查 2 - 步骤 A)**
可能不是在左侧栏中明确说明 File's Owner
,而是您可能必须这样做:
检查 2 - 备选步骤 A)
然后 select delegate
像这样:
检查 2 - 步骤 B)