iOS 8故事板/主界面

时间:2014-10-09 01:25:32

标签: ios swift storyboard xcode6

我正在创建一个iOS 8应用。我有两个适用于iPhone和iPad的故事板。 iPad.storyboard被设置为主界面。 我的问题是,每次我在iPhone设备上运行时,iPad.storyboard仍然被调用。

有没有办法自动检测某个设备的故事板?

2 个答案:

答案 0 :(得分:0)

//If you are looking for a swift solution
   if(UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad) {
       //iPad
      var iPadBoard: UIStoryboard!
      iPadBoard = UIStoryboard(name: "iPad", bundle: nil)
      let viewcontroller : UIViewController = iPadBoard.instantiateViewControllerWithIdentifier("iPad") as UIViewController
      self.window!.rootViewController = viewcontroller
    }
    else {
       //iPhone
      var iPhoneBoard: UIStoryboard!
      iPhoneBoard = UIStoryboard(name: "iPhone", bundle: nil)
      let viewcontroller : UIViewController = iPhoneBoard.instantiateViewControllerWithIdentifier("iPhone5") as UIViewController
      self.window!.rootViewController = viewcontroller
    }

答案 1 :(得分:0)

要让iOS自动为您选择,请在末尾(在名称之后和扩展名之前)使用~iphone和~ipad命名故事板。

例如:
   主要〜iphone.storyboard    主〜ipad.storyboard

请注意" iphone"和" ipad"一定是小写的。如果用混合大小写命名它们,它们将在模拟器上工作,但不能在设备上工作,因为Mac的默认格式不区分大小写,但iOS格式区分大小写。