如何通过Swift for iOS调用不同的Storyboard?

我为每个iOS设备系列创build了一个包含三个不同Storyboard的应用程序。 现在我不知道如何在应用程序启动时select正确的故事板? 我正在检查屏幕高度以识别不同的设备:

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool { // Check Device Family var bounds: CGRect = UIScreen.mainScreen().bounds var screenHeight: NSNumber = bounds.size.height var deviceFamily: String if screenHeight == 480 { deviceFamily = "iPhoneOriginal" // Load Storyboard with name: iPhone4 } else if screenHeight == 568 { deviceFamily = "iPhone5Higher" // Load Storyboard with name: iPhone5 } else { deviceFamily = "iPad" // Load Storyboard with name: iPad } return true } 

有人可以给我一个在Swift工作的解决scheme吗? 我只findObjC的解决scheme。

谢谢。

我想你想打开一个视图? 如果是的话,这个代码将完成这项工作:

 var mainView: UIStoryboard! mainView = UIStoryboard(name: "vcLogin", bundle: nil) let viewcontroller : UIViewController = mainView.instantiateViewControllerWithIdentifier("iPhone5") as UIViewController self.window!.rootViewController = viewcontroller 

它将打开id为yourViewControllerId的视图控制器

你需要给你的viewcontroller一个标识符。 你通过突出显示你的视图控制器,然后给它一个标识符:然后你把你的标识符放在StoryBoard ID中。 在这里输入图像说明

所以对你来说这将是:

 if screenHeight == 480 { deviceFamily = "iPhoneOriginal" // Load Storyboard with name: iPhone4 var mainView: UIStoryboard! mainView = UIStoryboard(name: "vcLogin", bundle: nil) let viewcontroller : UIViewController = mainView.instantiateViewControllerWithIdentifier("iPhone4") as UIViewController self.window!.rootViewController = viewcontroller }