在呈现模态视图时显示 UITabBar

Posted

技术标签:

【中文标题】在呈现模态视图时显示 UITabBar【英文标题】:Show UITabBar while presenting a modal view 【发布时间】:2014-07-21 16:16:06 【问题描述】:

当用户点击 UITabBar 项目时,我想以模态方式呈现视图控制器,但我也希望 UITabBar 保持可见。当用户完成模态视图控制器时,我想以模态方式关闭它。基本上,我想在另一个视图控制器上显示一个视图控制器,并使用模态动画关闭顶视图控制器,同时保持 UITabBar 可见。我在想我必须做一些自定义动画,但我不知道如何做到这一点。

有人知道如何为 ios 6 和 iOS 7 执行此操作吗?

【问题讨论】:

模态视图控制器的整个想法是它占据了整个屏幕,所以在你关闭它之前你不能与其他任何东西交互,所以听起来你真正想要的不是模态的介绍。当这个“模态”控制器在屏幕上时,您是否希望用户仍然能够选择一个选项卡? 是的,我希望用户仍然能够与标签栏进行交互。我真的不在乎它是否是模态视图,但我确实希望它像模态视图一样被忽略。 我认为您可以使用 iOS 7 中提供的新自定义演示方法来做到这一点。您必须编写自己的过渡动画代码,但与正常的模态过渡不同,自定义方法(使用UIViewControllerTransitioningDelegate ) 将呈现视图控制器的视图保留在层次结构中。 【参考方案1】:

Modal segues 覆盖了以前的导航控制器堆栈,因此任何现有的选项卡、导航和工具栏控制器都将无法再访问。您要么需要使用 push segue 来保留现有的标签栏,要么将新的标签栏控制器添加到模态视图。

【讨论】:

以上是关于在呈现模态视图时显示 UITabBar的主要内容,如果未能解决你的问题,请参考以下文章

在应用启动时显示 ViewController

我怎样才能呈现一个模态视图控制器,并带有默认的关闭动画?

在迭代数组后通过 .sheet 显示模态时显示相同的图像

状态栏处于“通话中”模式时显示模式对话框后导航栏位置错误

在展示视图控制器被释放后,关闭展示的视图控制器

尝试在点击单元格时显示其视图不在窗口层次结构中