多个故事板 - 多个导航控制器

时间:2015-07-11 19:33:47

标签: ios xcode swift

我将我的项目分解为多个故事板。我有一个带导航控制器的登录故事板。最后一步"完成注册"带你到main.storyboard

这会使导航控制器保持原位,后退按钮会将您带回注册。我显然不想要那个。我知道我可以使用以下方式隐藏栏:

self.navigationController?.navigationBarHidden = true

但是我怎么能离开导航控制器呢?

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

最简单,最正确的方法是让您的登录屏幕成为模态视图。如果您不想让用户返回,那么您不应该使用push segue。你应该使用模态视图。

在iOS人机界面指南中,它说模态视图应该用于“必须完成或明确放弃的自包含任务 - 以避免将用户的数据置于模糊状态。”

模态视图将使您的登录和主屏幕必须位于单独的导航控制器中。

答案 1 :(得分:1)

在“完成注册”操作的完成处理程序中,您将需要使用以下代码。

        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let viewController = storyboard.instantiateInitialViewController() as! (TypeOfViewController)
        self.presentViewController(viewController, animated: true, completion: nil)

如果你的main.storyboard已经嵌入在NavigationController中(初始视图控制器是一个UINavigationController),那么你必须以不同的方式做到这一点。

        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let viewController = storyboard.instantiateInitialViewController()
        self.presentViewController(viewController, animated: true, completion: nil)