在带有分段控件的 UITabBarController 中模态显示导航视图控制器

Posted

技术标签:

【中文标题】在带有分段控件的 UITabBarController 中模态显示导航视图控制器【英文标题】:Modally Presenting a Navigation View Controller in a UITabBarController With a Segmented Control 【发布时间】:2013-08-23 00:54:10 【问题描述】:

过去几天我一直在网上搜索解决我的问题的方法,但是,我似乎找不到与我的问题相似的问题。我正在使用 TabBarController,并且在其中一个选项卡上,我在导航栏中有一个分段控件,我想用它在视图控制器之间切换。问题是当我展示第二个视图控制器时,它出现在标签栏控制器上。无论如何要将模态呈现的导航控制器保留在 tabbarcontroller 中?

这是第一个控制器。

这就是我要展示的控制器。

【问题讨论】:

【参考方案1】:

好吧,除非我们看到一些代码,否则我们无法真正发表评论。但我认为您的问题可能与您的视图层次结构有关。如果我要构建您正在尝试的内容,我会执行以下操作:

    包含自定义导航栏控制器的 UITabbar 控制器

    自定义导航栏控制器将包含段控制器并定义协议,以便在用户选择任一段时提醒代理。

    导航栏的根视图控制器将是一个视图控制器,充当您正在显示的两个屏幕(朋友和圈子屏幕)的 UIView 容器

    此根视图控制器将成为自定义导航控制器的委托,以便知道用户何时选择了一个片段。

    当用户选择一个段时,根视图控制器将在容器中的朋友和圈子视图控制器之间切换。

要执行上述操作,请查看创建 UIViewController Containers 和 working with delegates 的文档

希望有帮助!

【讨论】:

我成功了,谢谢!但是,我采取了与您建议的方法略有不同的方法。我断开了 Friends 视图控制器与其导航控制器的连接,然后连接了一个包含两个容器视图控制器的视图控制器。每个Container分别嵌入和朋友圈。然后我使用分段控件将隐藏属性设置为 YES 和 NO。感谢您的帮助! @acenario :我正在使用上面的 tabbarcontroller 并希望在使用中心按钮上的选项卡时以模态方式呈现视图控制器。此外,我想在中心按钮上的用户选项卡时隐藏底部栏,并在用户关闭模态呈现的视图控制器时重新显示。我是swift新手,你能指导我吗?谢谢

以上是关于在带有分段控件的 UITabBarController 中模态显示导航视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

在带有分段控件的 UITabBarController 中模态显示导航视图控制器

带有选取器(分段控件)子视图和选择手势的列表项

使用带有分段控制的 Storyboard Segue

使用 TailwindCSS 创建动画分段控件

在 Swift 的标头中使用分段控件更改 UICollectionView 的内容

通过更改分段控件更改视图