我怎样才能在ios

时间:2017-10-02 07:23:31

标签: ios swift

我正在尝试构建应用。它有很多页面,每个页面都有一个名为Home的导航项目。

点击它会进入主页,意思是开始页面。我不想实例化ViewController。我想拳头初始化页面会来。我怎么能做到这一点。我不想解雇页面。因为它需要多次点击才能进入主页

我试过这个

self.dismiss(animated: true, completion: {});  
self.navigationController?.popViewController(animated: true);

initial view controller

3 个答案:

答案 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 :)弹出所有视图控制器   除根视图控制器之外的堆栈并更新显示。