使用 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 模板手动显示弹出框?