如何设置初始故事板

我有两个故事板其中之一是默认称为 ,另一个我刚刚添加称为pipe理员

主要用于客户, pipe理员用于应用程序的所有者。

我想知道你是如何编程设置初始/主界面storyboard。

在这里输入图像说明

PS我知道如何通过xcode更改它,但不知道编程。

您不要以编程方式设置初始情节提要。

这是如何工作的。 您可以在主界面下的Xcode中列出主要故事板,或者您不要:

  • 如果你这样做,这是最初的故事板,时期。 该故事板在启动时自动加载,其初始视图控制器成为窗口的根视图控制器(然后界面自动显示)。

  • 如果你不这样做(也就是说,如果主界面字段是空的),则不会自动发生。 取决于你的代码,以某种方式获得视图控制器(可能来自故事板),并使其窗口的根视图控制器(并显示接口)。

所以,总而言之,一切都会自动发生,或者什么都不会自动发生。 没有中间状态,就像你想象的那样,你可以通过编程来改变事物,从而自动加载不同的故事板。

但是,有一种中间状态,允许主界面故事板加载, 但是您忽略它 。 在你的application:didFinishLoading...的实现中,你有时候会做第二个项目符号所说的事情,即加载一个不同的视图控制器,并使其成为根视图控制器。 这是有效的,因为我在第一个要点中提到的自动填充已经发生application:didFinishLoading...的调用之中。 所以,实际上,你的代码有时会允许这个自动的东西,有时会覆盖它。

在我自己的代码中,我们使用主界面故事板来加载初始视图控制器,或者我们从故事板自己加载一个不同的视图控制器,具体取决于用户默认值:

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { if let rvc = self.window?.rootViewController { if NSUserDefaults.standardUserDefaults().objectForKey("username") as? String != nil { self.window!.rootViewController = rvc.storyboard!.instantiateViewControllerWithIdentifier("root") } } return true }