加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何通过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提供标识符.
您可以通过突出显示视图控制器然后为其指定标识符来执行此操作:
然后,将您的标识符放在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
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读