如何通过Swift for iOS调用不同的故事板?
发布时间:2020-12-14 04:48:50 所属栏目:百科 来源:网络整理
导读:我为每个iOS设备系列创建了一个带有三个不同故事板的应用程序.现在我不知道如何在应用程序启动时选择正确的Storyboard?我正在检查屏幕高度以识别不同的设备: func application(application: UIApplication!,didFinishLaunchingWithOptions launchOptions:
我为每个iOS设备系列创建了一个带有三个不同故事板的应用程序.现在我不知道如何在应用程序启动时选择正确的Storyboard?我正在检查屏幕高度以识别不同的设备:
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中给我一个有效的解决方案吗?我只找到了ObjC的解决方案. 谢谢. 解决方法
我想你想打开一个视图?如果是这样,这段代码将完成这项工作:
var mainView: UIStoryboard! mainView = UIStoryboard(name: "vcLogin",bundle: nil) let viewcontroller : UIViewController = mainView.instantiateViewControllerWithIdentifier("iPhone5") as UIViewController self.window!.rootViewController = viewcontroller 它将使用id:yourViewControllerId打开视图控制器 您需要为viewcontroller提供标识符. 所以对你来说它将是: 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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |