我将用户发送到一个页面上的按钮点击。这个页面是一个UITableViewController。

现在如果用户点击一个单元格,我想把他推回到上一页。

我想到了self.performSegue("back")....但这似乎不是一个好主意。

正确的做法是什么?


当前回答

关于如何在故事板中嵌入viewController到navigationController的问题:

打开不同viewController所在的故事板 点击你想要导航控制器开始的viewController 在Xcode顶部,点击“编辑器” ->轻按“嵌入” ->轻按“导航控制器”

其他回答

我可以通过在导航控制器的“viewDidDisappear”中写代码重定向到根页面,

override func viewDidDisappear(_ animated: Bool) { self.navigationController ?。popToRootViewController(动画:真) }

如果Segue是“Show”或“Push”类型,那么你可以在UINavigationController的实例上调用“popViewController(animated: Bool)”。或者如果segue是present,那么调用UIViewController的实例"dismiss(animated: Bool, completion: (() -> Void)?

关于如何在故事板中嵌入viewController到navigationController的问题:

打开不同viewController所在的故事板 点击你想要导航控制器开始的viewController 在Xcode顶部,点击“编辑器” ->轻按“嵌入” ->轻按“导航控制器”

对于swift 3 您只需要编写下面这行代码

_ = navigationController?.popViewController(animated: true)

Swift 5及以上

案例1:与导航控制器一起使用

回到之前的视图控制器 self.navigationController ?。会被(动画:真) 回到根视图控制器 self.navigationController ?。popToRootViewController(动画:真)

案例2:使用present视图控制器

self.dismiss(animated: true, completion: nil)