【问题标题】:My didSelectRowAtIndexPath not called我的 didSelectRowAtIndexPath 没有被调用
【发布时间】: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
  • 如果您没有正确答案,请停止投票。

标签: ios swift uitableview


【解决方案1】:

交叉验证以下内容会阻止 didSelectMethod 工作:

  1. userInteraction 是否没有为 tableView 禁用
  2. 没有对主要的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 没有被调用)我删除了点击手势的代码并且它起作用了

  1. 已正确给出dataSourcedelegates
  2. 没有任何视图覆盖tableView

希望这会有所帮助。

【讨论】:

  • 谢谢兄弟.. self.view.addGestureRecognizer(tapGesture) 这是问题所在。
  • 有些人需要向你学习。在没有知识的情况下投票否决这个问题。
  • @RajkumarKumawat 如果它对你有用。保持通过绿色勾号批准它的习惯。
【解决方案2】:

检查您的委托方法是否实际被调用,您可能没有将 VC 连接为委托/数据源

【讨论】:

  • Sam 我不明白你想说什么。在另一个控制器中它工作正常。
【解决方案3】:

您可能在该单元格中有 按钮,并且您可能正在尝试点击该按钮(或) 检查情节提要,是否启用了 tableView 用户交互

【讨论】:

  • 是的,用户交互已启用且单元格仅包含标签。
  • tableview 单元格和 tableview 的高度是多少?
猜你喜欢
  • 2013-10-07
  • 1970-01-01
  • 2023-04-01
  • 2015-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多