在 Swift 中,如何使动态 tableView 单元格可选,以便在按下它时转移到不同的 tableViewController?
Posted
技术标签:
【中文标题】在 Swift 中,如何使动态 tableView 单元格可选,以便在按下它时转移到不同的 tableViewController?【英文标题】:In Swift, how to make a dynamic tableView cell selectable so when it is pressed it transfers to a different tableViewController? 【发布时间】:2016-02-15 21:21:05 【问题描述】:我有一个带有动态单元格的 tableView,当按下单元格时,我希望它通过 segue 传输到不同的 tableViewController。我想出了如何通过按单元格上的按钮来做到这一点,但如果单元格本身被按下则不行。我很难过,任何帮助将不胜感激!
【问题讨论】:
这应该是你要找的函数func tableView(_ tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
我尝试使用 override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) self.dismissSearchBar() performSegueWithIdentifier("channelToShowSegue", sender: self)
没有工作意味着didSelectRowAtIndexPath
没有被调用或内部performSegueWithIdentifier("channelToShowSegue", sender: self)
没有工作?
当单元格被按下时 performSegueWithIndentifier 什么都不做。但是当在 IBAction 下调用 performSegueWithIdentifier 时,它会起作用。
您不只是将控件从单元拖动到 IB 中的视图控制器,这是有原因的吗?然后segue会自动发生,您只需在prepareForSegue
中设置任何数据要求。
【参考方案1】:
想通了,在调用 DidSelectRowAtIndexPath 之前,您必须先将 tableView.allowsSelection = true
放入 cellForRowAtIndexPath。
【讨论】:
以上是关于在 Swift 中,如何使动态 tableView 单元格可选,以便在按下它时转移到不同的 tableViewController?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中使用两个 TableView 设计动态布局
如何在 swift 中使文本字段功能在 tableview 中
Swift / 如何使用具有动态高度的 UITextView INSIDE UITableViewCell 与动态高度