如何在不隐藏 tabBar 的情况下呈现视图控制器

Posted

技术标签:

【中文标题】如何在不隐藏 tabBar 的情况下呈现视图控制器【英文标题】:How to present a View Controller without hiding the tabBar 【发布时间】:2015-12-10 07:49:31 【问题描述】:

我有一个 UITabBarController,里面有五个视图控制器。在一个视图控制器中,可以按下一个按钮来呈现一个新的 ViewController,但是标签栏被覆盖了。如何呈现控制器并保持标签栏可见?

【问题讨论】:

【参考方案1】:

当你展示一些东西时,它会覆盖整个屏幕。

您要从中显示新控制器的控制器,将其设为导航控制器,而不是将其保持为简单控制器。

因此,您可以将新控制器推到上面,而不是亲自展示。

【讨论】:

那么我不能使用 modalTransitionStyle 在过渡上制作动画。T.T 有人可以帮我吗? 参考此答案***.com/questions/3838219/… 以在推送视图控制器时提供过渡样式。 我有一个导航控制器,但视图仍然没有占用 tabBar 的空间【参考方案2】:
[<presentingViewControllerInstance> setModalPresentationStyle:UIModalPresentationOverCurrentContext];

在呈现之前使用 currentContext 作为呈现视图控制器的呈现样式。无需创建导航控制器并推送。

【讨论】:

以上是关于如何在不隐藏 tabBar 的情况下呈现视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 presentViewController 的情况下以模态方式呈现自定义视图?

在不覆盖 iPhone 上的当前视图的情况下呈现模态视图控制器

是否可以在不使背景变暗的情况下在 iPad 上呈现模态视图控制器?

如何从呈现的视图控制器上的按钮操作推送视图控制器

隐藏 TabBar 控制器

如何使用 Swift 4.2 设置标志并将一些值从 Popup 呈现模型视图控制器传递到 Tabbar 主视图控制器?