应用程序在应用程序启动错误结束时应该有一个根视图控制器 [重复]

Posted

技术标签:

【中文标题】应用程序在应用程序启动错误结束时应该有一个根视图控制器 [重复]【英文标题】:Applications are expected to have a root view controller at the end of application launch error [duplicate] 【发布时间】:2013-05-06 09:11:59 【问题描述】:

我有问题,

我正在使用以下代码,应用程序工作正常。

  Support *panoView=[[Support alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
    self.view=panoView;

注意:panoView 是 UIView 类

我使用以下代码代替这个:

 Support *panoView=[[Support alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
    self.background_image_view=panoView;

这会产生以下错误:应用程序在应用程序启动结束时应该有一个根视图控制器,但应用程序无法加载。

我需要在新的 background_image_view 中显示 panoView。谁来帮帮我。

【问题讨论】:

在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中显示您的代码 你必须把它放在initWithRootViewController而不是init ***.com/questions/8190567/… 【参考方案1】:

而不是[self.window addSubview:] 使用[self.window setRootViewController:]

application:didFinishLaunchingWithOptions:

【讨论】:

【参考方案2】:

看起来您发布的代码来自视图控制器的loadView 方法。您必须在此处为self.view 赋值,否则视图控制器将无法显示任何内容。这就是为什么您的第一个代码 sn-p 有效而第二个无效的原因。

通常,当您未在应用代理的 application:didFinishLaunchingWithOptions: 方法中为 window.rootViewController 分配值时,您会看到此错误,但我认为您看到此错误是因为您的视图控制器没有视图。

【讨论】:

嗨,如何将 UIView 子类显示为 UIView?

以上是关于应用程序在应用程序启动错误结束时应该有一个根视图控制器 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

MonoTouch 和“应用程序在应用程序启动结束时应该有一个根视图控制器”错误

应用程序在应用程序启动结束时应该有一个根视图控制器 wait_fences: failed to receive reply: 10004003

使用 Xcode 7、iOS 9 运行项目时出现“应用程序窗口应在应用程序启动结束时具有根视图控制器”错误

奇怪的控制台消息 - 应用程序窗口应该在应用程序启动结束时有一个根视图控制器 [重复]

“应用程序窗口应该在应用程序启动结束时有一个根视图控制器”在我禁用情节提要后发生

设置根视图时,“应用程序窗口应在应用程序启动结束时具有根视图控制器”消息[重复]