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