使用 splitViewController 在 iPad 故事板上出现黑屏

Posted

技术标签:

【中文标题】使用 splitViewController 在 iPad 故事板上出现黑屏【英文标题】:Black screen on iPad storyboard using splitViewController 【发布时间】:2011-12-14 02:59:04 【问题描述】:

我有一个应用程序,其 iPhone 故事板工作正常。我的 iPad 故事板(使用拆分视图控制器)刚刚出现黑屏。

日志记录告诉我主视图控制器和详细视图控制器的 -viewDidLoad: 方法都被调用了 日志记录还告诉我,正在调用我的详细视图的 -drawRect:

我没有发布代码,因为我认为问题在于我的故事板设置(iPhone 故事板工作正常)。

更新-viewDidAppear:没有在我的任何一个视图控制器中被调用。

【问题讨论】:

【参考方案1】:

在 iPhone 应用程序上,您可以使用 info.plist 文件中的 "Main nib file base name" 键指定应用程序的根视图。从它的声音来看,没有为 iPad 加载正确的根视图。尝试在 info.plist 文件中为 "Main nib file base name (iPad)" 添加/或设置正确的视图。

另外,请确保您使用正确的应用程序生命周期方法来加载您的视图。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 


    if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ) 

        [self.window addSubview:yourSplitViewController.view];

     else 

        [self.window addSubview:yourNavigationController.view];

    

    [self.window makeKeyAndVisible];

    return YES;

【讨论】:

我使用的是 XCode 4,我的 info.plist 文件有一个条目 Main storyboard file base name (iPad) 设置为 iPad。这似乎工作正常。关于- application:didFinishLaunchingWithOptions: 方法:我可以检查UI_USER_INTERFACE_IDIOM(),但我不知道如何在这里引用我的拆分视图控制器对象。无论如何,我有其他演示项目在 iPad 上使用拆分视图控制器,并且在这种方法中只返回 YES,他们没有做任何其他事情,这让我认为问题一定出在其他地方。 您是在为 iPad 根视图控制器使用笔尖还是将所有内容都放在代码中? 感谢您的帮助@jerry,经过一段时间我已经弄清楚了。事实证明,我的视图正在调用尚未设置的数据源。为什么这会让整个屏幕变黑我不知道,但至少我现在走在正确的道路上。

以上是关于使用 splitViewController 在 iPad 故事板上出现黑屏的主要内容,如果未能解决你的问题,请参考以下文章

使用 splitViewController 在 iPad 故事板上出现黑屏

UINavigationController & SplitViewController

SplitViewController 模板手动显示弹出框?

SplitViewController 显示细节 iPad Pro 纵向模式

SplitViewController 更新详细视图

通用应用Splitviewcontroller