尝试使用 Xcode 8.2 使用 Swift 3 创建一个简单的应用程序。想要具有如下层次结构:
Tab-bar View
-->TableView
----->TableView
--------->View
--------->TableView
--------->etc.
----->TableView
----->View
-->TableView
例如,主标签栏应该有一个嵌入在导航 Controller 中的 tableView Controller 。单击某个单元格(index.path)应该会导致一个单独的 tableview 或 viewcontroller,它们本身可以分支到它自己的一系列“子”表中。表格应该是动态的,并且所有表格都具有导航控件,可以“弹出”到最近的表格/ View Controller 。
目前,对于主 TableView ,我有:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == List_Database_Indexes.employees {
let myWebView = self.storyboard!.instantiateViewController(withIdentifier: "Employees") as! UITableViewController
//self.present(myWebView, animated: true, completion: nil)
self.performSegue(withIdentifier: "Employees", sender: nil)
}
这可以调出 Employees UITableViewController,但顶部没有导航栏 Controller 。例如,在 Apple 中,如果您在“常规”行下方的图像中单击,您将被带到一个导航 TableView ,该 View 将您带到密码锁代码,它将您带到自动锁定,所有这些都带有导航。
最佳答案
将您的代码更改为:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == List_Database_Indexes.employees {
let myWebView = self.storyboard!.instantiateViewController(withIdentifier: "Employees") as! UITableViewController
//self.present(myWebView, animated: true, completion: nil)
//self.performSegue(withIdentifier: "Employees", sender: nil)
self.navigationController?.pushViewController(myWebView, animated: true)
}
}
关于 swift 3 : Tableview select row goes to different navigation views,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42775878/