如何设置根视图控制器

16
我创建了一个空的应用程序,只有应用程序委托类,然后子类化了一个视图控制器类来创建一个xib布局应用程序并建立连接。但是当我尝试在iOS模拟器上运行该应用程序时,出现了一个错误,显示:CoinToss[6212:f803] 应用程序在启动时需要有一个根视图控制器。响应SpringBoard的终止而终止。程序以退出代码:0结束。
我需要做什么才能为应用程序创建一个根视图控制器?
谢谢。

整个响应Springboard终止的原因是按下了主页按钮。 应用程序应该有一个根视图控制器,但“应该”和“必须”是两个不同的词。 我知道在苹果的glpaint示例中会出现这个错误,但这主要是因为所有的视图操作都是在委托中完成的。 - CodaFi
4个回答

25

在AppDelegate.m文件中

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];



    UIViewController *viewController = // determine the initial view controller here and instantiate it with [storyboard instantiateViewControllerWithIdentifier:];

    self.window.rootViewController = viewController;//making a view to root view
    [self.window makeKeyAndVisible];

    return YES;
}

0

你需要设置两个东西来实现这个..

  1. AppDelegate.m文件中: _applicationDidFinishLaunchingWithOptions_

    self.window.rootViewController = self.viewController;

  2. application.m

    retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");


0

由于您显然正在使用.xib文件,请在-application:didFinishLaunchingWithOptions:中加载您的视图控制器并将窗口的rootViewController属性设置为您的视图控制器。


0

应用程序应该有一个根视图控制器

在AppDelegate中进行替换

 [window addSubview:[someController view]];

 [self.window setRootViewController:someController];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接