Swift - 在点击 TableViewCell 时打开 ViewController

Posted

技术标签:

【中文标题】Swift - 在点击 TableViewCell 时打开 ViewController【英文标题】:Swift - Open ViewController on Tapping a TableViewCell 【发布时间】:2018-02-15 18:53:10 【问题描述】:

我有一个具有相同单元格的 tableView。选择其中一个后,我想打开另一个 ViewController。 我试过这段代码:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: IndexPath) 

    let destination = EditViewController()
    navigationController?.pushViewController(destination, animated: true)


但它没有打开另一个 ViewController。 能给个提示吗?

【问题讨论】:

您是否在 Storyboard 中嵌入了带有导航控制器的视图控制器? “没用” == 没有变化或空白屏幕或...? 我的意思是:没有变化 检查navigationController是否存在。 【参考方案1】:

进入你的故事板,选择你启动视图控制器,然后点击编辑器>嵌入并选择导航控制器,然后你的代码就可以工作了。这意味着您已经从初始视图控制器设置了视图控制器的导航堆栈。

【讨论】:

【参考方案2】:

很可能你只是没有 navigationController 那里 - 使用而不是 present 来显示 viewController:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: IndexPath) 
    let destination = EditViewController()
    self.present(destination, animated: true, completion: nil)

或者,如果您希望 viewController 被推送,请确保将 tableViewController 嵌入到 UINavigationController 中。

【讨论】:

以上是关于Swift - 在点击 TableViewCell 时打开 ViewController的主要内容,如果未能解决你的问题,请参考以下文章

在swift 3中的tableview中更新tableviewcell中的特定行?

如何在 swift tableviewCell 中集成“喜欢”按钮

TableViewCell Swift中的切换(复选框)按钮

Swift:如何以编程方式在 TableViewCell 中显示 CollectionView

swift:TableViewCell 在滚动之前不会更新约束

无法在 Swift 中展开和折叠 TableViewCell