iOS iPad故事板未被选中

看起来,即使我指定了Xcode 5,也没有select使用iPad设备作为iPad设备。

这就是我告诉Xcode 5使用iPad的故事板:

  • 我去了General下的项目设置
  • 所选设备: Universal
  • 然后我点击iPad
  • Main Interface写下MainStoryboard-iPad.storyboard

但由于某些原因,即使我对MainStoryboard-iPad故事板进行了更改,但是当我尝试在iPad上运行故事板时,它并未显示出来。

我的项目中只有两个故事板

MainStoryboard-iPad.storyboard

MainStoryboard.storyboard

任何想法可能是错误的吗?

哦,顺便说一下,当我第一次select环球时,我有一个箱子问我有关复制的事情(我从来没有仔细阅读过)。 我只是打“是” 不知道那个盒子实际上做了什么。

编辑

在我的AppDelegate.m中运行的代码

 - (void)applicationDidBecomeActive:(UIApplication *)application { AppDelegate *app = [[UIApplication sharedApplication] delegate]; UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"mainStoryBoard"]; UINavigationController *nvc = (UINavigationController*)self.window.rootViewController; app.window.rootViewController = ivc; } 

我刚刚遇到这个。

这是你需要做的步骤:

  1. 确保“部署信息” – >设备是“通用”
  2. 为iPad创build故事板(例如)MainStoryboard_iPad.storyboard
  3. 现在去你的Infor.plist
  4. 为“主要故事板文件基本名称(iPad)”添加行,并使用MainStoryboard_iPad作为string的值

现在你很好走!

希望这可以帮助! 上帝保佑

您的代码覆盖设备types的默认情节串联板。 你抓住MainStoryboard,从它实例化一个视图控制器,并将其设置为根。 这通常由故事板本身处理。 它使用您select的视图控制器作为根。 尝试删除所有的代码来手动设置故事板。

在github上查看这个项目,了解一个没有代码的故事板切换的例子: https : //github.com/danielmackenzie/StoryboardSelection

Xcode项目指向每个设备types的每个故事板,并在启动时自动select相应的板。

您需要在应用程序的info.plist中inputiPad

查看您的支持文件组的info.plist为您的应用程序。

你会看到一个iPhone的故事板,但没有一个iPad的条目。

iPhone的条目应该是这样的:

 Main storyboard file base name 

它应该有你的iPhone的故事板名称(无文件扩展名)作为它的string值。 像这样的东西:

 iPhone-Storyboard 

在pList中添加一个新的条目并input这个string作为键:

 Main storyboard file base name (iPad) 

确保数据types是string。

您现在可以从目标上的应用程序常规设置中select所需的iPad故事板。

我也碰到过这个,并且认为你想要一个清晰的解释和解决scheme。

有时,Xcode是相当疯狂的,不是吗? 希望这可以帮助。

//覆盖应用程序启动后的自定义点。

 if (<your implementation>) { UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil]; YourViewController *yourController = (YourViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"YourViewControllerID"]; self.window.rootViewController = yourController; } 

返回YES;

你的逻辑没有考虑到你的设备。 AFAIK,没有方法看你的命名后缀(“-iPad”),并自动select正确的故事板文件。

为了解决这个问题,只需更换调用,以一些逻辑来实例化您的故事板,以便根据设备select合适的故事板。

 UIStoryboard* storyboard; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard-iPad" bundle:nil]; } else { storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; }