我的 didSelectRowAtIndexPath 没有被调用
Posted
技术标签:
【中文标题】我的 didSelectRowAtIndexPath 没有被调用【英文标题】:My didSelectRowAtIndexPath not called 【发布时间】:2018-04-28 11:41:27 【问题描述】:didSelectRowAtIndexPath 未调用。我尝试了所有通过堆栈溢出发布的解决方案。
func tableView(_tableView: UITableView, didSelectRowAt indexPath: IndexPath)
【问题讨论】:
怎么会有人能够帮助这些小信息?请编辑您的帖子以包含更多背景信息以及您迄今为止所做的尝试。 @LinusGeffarth 只有这一种方法有问题。 numberOfRowsInSection,cellForRowAt 工作正常 您是否已将代理连接到您当前的班级 class LocationViewController: UIViewController,UITextFieldDelegate,UITableViewDelegate,UITableViewDataSource,UIPickerViewDelegate,UIPickerViewDataSource,IndicatorInfoProvider,UITabBarControllerDelegate self.tableMain.delegate = self.tableMain.dataSource = self 如果您没有正确答案,请停止投票。 【参考方案1】:交叉验证以下内容会阻止 didSelectMethod 工作:
userInteraction
是否没有为 tableView
禁用
没有对主要的UIView
进行任何点击手势,例如,例如
// Tap Gesture
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(HomeVC.tapBlurButton(_:)))
self.view.addGestureRecognizer(tapGesture)
并像使用它
@objc func tapBlurButton(_ sender: UITapGestureRecognizer)
tblZoneType.reloadData()
这将阻止与tableView
的交互(个人遇到了这个问题,我的 didSelect 没有被调用)我删除了点击手势的代码并且它起作用了
-
已正确给出
dataSource
和delegates
。
没有任何视图覆盖tableView
。
希望这会有所帮助。
【讨论】:
谢谢兄弟.. self.view.addGestureRecognizer(tapGesture) 这是问题所在。 有些人需要向你学习。在没有知识的情况下投票否决这个问题。 @RajkumarKumawat 如果它对你有用。保持通过绿色勾号批准它的习惯。【参考方案2】:检查您的委托方法是否实际被调用,您可能没有将 VC 连接为委托/数据源
【讨论】:
Sam 我不明白你想说什么。在另一个控制器中它工作正常。【参考方案3】:您可能在该单元格中有 按钮,并且您可能正在尝试点击该按钮(或) 检查情节提要,是否启用了 tableView 用户交互
【讨论】:
是的,用户交互已启用且单元格仅包含标签。 tableview 单元格和 tableview 的高度是多少?以上是关于我的 didSelectRowAtIndexPath 没有被调用的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 ListView 使我的应用程序崩溃而不是列出我的条目?