我正在尝试构建应用。它有很多页面,每个页面都有一个名为Home的导航项目。
点击它会进入主页,意思是开始页面。我不想实例化ViewController。我想拳头初始化页面会来。我怎么能做到这一点。我不想解雇页面。因为它需要多次点击才能进入主页
我试过这个
self.dismiss(animated: true, completion: {});
self.navigationController?.popViewController(animated: true);
答案 0 :(得分:2)
self.navigationController?.popToRootViewController(animated: true)
弹出除根视图控制器之外的堆栈上的所有视图控制器并更新显示。
答案 1 :(得分:2)
Swift 3 +:您可以使用以下代码重新启动应用。
func moveToRootViewController(){
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let window = UIApplication.shared.keyWindow
window?.rootViewController = storyboard.instantiateInitialViewController()
}
答案 2 :(得分:0)
您可以将UINavigationController
方法popToRootViewController(animated:)
用于您的目的。将您的主页设置为导航控制器的根目录。您可以使用相同的导航控制器推送所需的视图控制器。每当您在任何页面内按Home键时,只需弹出所有View Controller并使用上述方法显示Root View Controller。
您可以将其用作
self.navigationController?.popToRootViewController(animated: true)
在每个应用页面点击主页按钮上调用此方法。
来自Apple文档:
popToRootViewController(animated :)弹出所有视图控制器 除根视图控制器之外的堆栈并更新显示。