如何通过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 }