【问题标题】:Swift - Open ViewController on Tapping a TableViewCellSwift - 在点击 TableViewCell 时打开 ViewController
【发布时间】: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是否存在。

标签: ios swift uitableview uiviewcontroller


【解决方案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 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-21
      • 2020-12-24
      • 1970-01-01
      相关资源
      最近更新 更多