带有标签栏的 presentViewController

Posted

技术标签:

【中文标题】带有标签栏的 presentViewController【英文标题】:presentViewController with the tabbar 【发布时间】:2014-02-03 18:47:22 【问题描述】:

我有一个应用程序,它有一个标签栏,在大多数ViewControllers 中都有显示。问题是它没有显示在我通过这段代码呈现的viewController 中。

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:songsViewController];
[self presentViewController:navigationController animated:YES completion:nil]

我使用presentViewController 而不是pushViewcontroller,因为我想在此视图中自定义navigationBar

如何展示我使用 storyboard 创建的标准标签栏?

【问题讨论】:

【参考方案1】:

当您使用presentViewController:animated:completion 时,您是以模态方式呈现视图控制器,这意味着它不包含在您现有的任何容器中,例如UITabBarController 或类似的东西。因此,如果您希望在模态呈现UIViewController 时显示某些内容,则它必须包含在您正在模态呈现的视图控制器中。因此,从外观上看,您只是展示了一个UINavigationController,其中包含您的songsViewController。如果你想保持你的UITabBar 显示,要么你需要添加一个到你正在呈现的视图中,或者你需要更改你的代码,这样你就不会在此处以模态方式呈现视图控制器。并为与您已经呈现的UITabBar 匹配的模态视图添加第二个UITabBar,这将使您的应用程序工作得相当奇怪,所以我建议您尝试更改它,这样您就不必呈现模态视图。

【讨论】:

以上是关于带有标签栏的 presentViewController的主要内容,如果未能解决你的问题,请参考以下文章

presentViewController显示方式的窗口,没有导航栏的解决方法

带有标签栏的左侧菜单?

ios 顶部带有标签栏的自定义 uitableview

带有标签栏的 iOS 图像分辨率

带有标签栏的滚动视图

iOS7上带有标签栏的奇怪顶部空间