我是 ios 新手。我有几个 View Controller ,我想要后退按钮来让用户升级 Controller 。 Example .
但是,如果用户来自 gameOver View ,则后退按钮会将他送回 gameOver,我不希望出现这种行为(我希望将用户发送到第二级(游戏级别) Controller ,如图所示)。在 Android 上,我可以非常轻松地使用鼠标设置导航操作的弹出行为。
在 ios 中执行相同操作的正确方法是什么?或者我必须创建自定义后退按钮并手动完成所有操作?
最佳答案
使用 Swift,这可以通过以下代码来实现:
func popToViewController(_ specificViewController: Swift.AnyClass) {
let viewControllers = self.navigationController!.viewControllers
for eachViewController in viewControllers {
if eachViewController.isKind(of: specificViewController) {
self.navigationController!.popToViewController(eachViewController, animated: true)
break;
}
}
}
用法:
self.popToViewController(gameLevelViewController.self)
关于iOS 导航 - 自定义后退按钮或从堆栈中删除 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59175172/