【发布时间】:2014-08-15 13:51:26
【问题描述】:
我不断收到警告
Application windows are expected to have a root view controller at the end of application launch
我一直在寻找解决方案,但我找到的所有解决方案都与我的代码匹配。 在此先感谢它可能很简单,但我已经坚持了一段时间了。
AppDelegate.m
self.rootController = [[UITabBarController alloc] init];
DownloadTableView *view2 = [[DownloadTableView alloc] init];
view2 = [[UIStoryboard storyboardWithName:@"DownloadTableView" bundle:nil] instantiateViewControllerWithIdentifier:@"Download"];
TableViewController *view3 = [[TableViewController alloc] init];
view3 = [[UIStoryboard storyboardWithName:@"TableViewController" bundle:nil] instantiateViewControllerWithIdentifier:@"table"];
appWebView = [[WebViewController alloc] init];
view3.tabBarItem.title = @"Documents";
appWebView.title = @"Browser";
view2.title = @"Downloads";
self.rootController.viewControllers = [NSArray arrayWithObjects:appWebView, view2, view3, nil];
self.window.rootViewController = _rootController;
appWebView.tabBarItem.image = [UIImage imageNamed:@"Browser.png"];
view2.tabBarItem.image = [UIImage imageNamed:@"Download.png"];
_window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// [_window addSubview:_rootController.view];
[_window makeKeyAndVisible];
【问题讨论】:
-
你用上面的代码实现了哪种方法?为什么要设置根视图控制器两次?为什么在将控制器的视图设置为根控制器后不必要地将其添加为子视图(请参阅
rootViewController的文档)? -
我清理了代码并编辑了我的帖子,但仍然收到警告
-
现在你创建一个新窗口,从不设置它的根视图控制器,然后让它成为关键窗口。这会警告您尚未设置根视图控制器,这不足为奇。
标签: ios xcode view uiviewcontroller storyboard