0

祝你有美好的一天,

我有一个我想在 iPad 上运行的 iPhone 应用程序。但是,与在 iPhone 上运行相比,在 iPad(sim 或设备)上运行时,我遇到了不同的行为。注意:我不想让它成为一个通用应用程序,它被设置为一个 iPhone 应用程序。

初始视图控制器是 tabBarController - 见下文(取自 iPhone 故事板 - 没有 iPad 故事板):

在此处输入图像描述

我在 appDidFinishLaunchingWithOptions 中有一些代码,它为我提供了我稍后使用的 tabBarController 的句柄。在 iPhone 上运行时,我使用的代码行(如下面的第 53 行所示)可以正常工作并返回 tabBarController 对象,即初始视图控制器。

在此处输入图像描述

我的问题:在 iPad(模拟器或设备)上运行时,应用程序委托中的 self.window.rootViewController 向我返回“Alert Central View Controller”对象 - 您可以从上面的故事板片段中看到,它位于视图层次结构的更下方,并且绝对不是初始视图控制器。

这里发生了什么?我会认为因为它是在 iPhone 模式而不是 iPad 模式下运行的,所以在 iPad 上运行时视图的层次结构应该没有变化。显然我错了!

我应该尝试以不同的方式访问初始视图控制器吗?

有人可以教我有什么区别吗?

谢谢!

4

1 回答 1

2

检查您的 Info.plist 文件中的Main storyboard file base name键,并确保只有一个具有正确 Storyboard 文件名的 iPhone 条目。我遇到了同样的问题,发现 plist 有两个故事板条目。删除附加密钥后,我的应用程序不再崩溃。还可以查看 UIStoryboard 类参考

于 2013-01-12T12:11:41.610 回答