导航和标签栏控制器未显示

Posted

技术标签:

【中文标题】导航和标签栏控制器未显示【英文标题】:Navigation and Tab Bar Controller not showing up 【发布时间】:2016-04-26 09:02:09 【问题描述】:

我正在尝试在应用程序委托中使用 instantiateViewControllerWithIdentifier 来显示视图控制器,但由于某种原因,导航栏和标签栏没有显示。我不确定我做错了什么 - 谢谢

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UINavigationController *view = (UINavigationController *)[sb instantiateViewControllerWithIdentifier:@"ShopViewController"];
self.window.rootViewController = view;

【问题讨论】:

【参考方案1】:

ShopViewController 是 UINavigation 控制器还是只是一个视图控制器。听起来您将视图控制器声明为 uinavigationcontroller。 相反,您应该在情节提要上放置一个导航控制器,然后给它一个标识符,或者您可以在应用程序委托中创建一个导航控制器。

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ShopViewController *showViewController = (ShopViewController *)[sb instantiateViewControllerWithIdentifier:@"ShopViewController"];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:shopViewController];
self.window.rootViewController = nav;

【讨论】:

它工作,但标签栏不见了(显示导航栏) 因为您还需要合并一个标签栏控制器,就像我建议的导航控制器一样。我建议你阅读一些关于视图控制器的 WWDC 视频。 raywenderlich.com/50308/storyboards-tutorial-in-ios-7-part-1 看看 Ray Wenderlich 的教程,他解释了不同的类型。

以上是关于导航和标签栏控制器未显示的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 导航栏、标签栏、表格视图标题未显示

导航控制器未显示在 TableView 中

如何在视图控制器中的标签栏和导航栏上全屏显示弹出视图?

标签栏控制器内的导航控制器不显示标题

调用控制器和方法时,导航栏图像未显示在 MVC 视图上

presentViewController 不显示标签栏或导航栏