无法从 App Delegate 呈现视图控制器
Posted
技术标签:
【中文标题】无法从 App Delegate 呈现视图控制器【英文标题】:Cannot Present View Controller From App Delegate 【发布时间】:2013-10-30 16:59:16 【问题描述】:我需要从 App Delegate 中展示视图控制器,我通过以下代码做到了:
MyViewController *controller = [[MyViewController alloc] init];
[self.window.rootViewController presentViewController:controller animated:YES completion:NULL];
应用程序显示黑屏。我该怎么做?
【问题讨论】:
请澄清。你的目标是在现有的根视图控制器上呈现这个新的视图控制器,还是希望这个视图控制器成为根控制器?MyViewController
是全部在代码中完成的,还是来自故事板或 xib?
我猜rootViewController
目前也为零(考虑到黑屏)?
【参考方案1】:
您需要将窗口的 RootViewController 设置为:
MyViewController *controller = [[MyViewController alloc] init];
[self.window setRootViewController:controller];
【讨论】:
问题不是 100% 清楚,但目标可能是在当前根视图控制器上呈现这个新视图控制器。 是的。我不确定这个问题,但我认为需要直接将 MyViewController 设置为窗口的 rootviewcontroller。 你怎么知道的?以上是关于无法从 App Delegate 呈现视图控制器的主要内容,如果未能解决你的问题,请参考以下文章
iOS 如何告诉 App Delegate 从当前视图呈现新视图
如何从app delegate访问NSViewController?
如何从我的视图控制器引用我的 App Delegate 中的 managedObjectContext?