我用Xcode和Swift创建了一个iOS应用程序。我的Storyboard
包含由ViewControllers
管理的五个TabBarController
。
有没有办法从UITabBarController
到UIViewController
执行segue而底部的TabBar消失了?
答案 0 :(得分:1)
实现此目的的最佳方法是将包含在选项卡栏控制器中的视图控制器包装在UINavigationController中。然后在该视图内部,您可以将新视图推送到导航控制器并保留Tab Bar控制器。
的链接答案 1 :(得分:1)
UIWindow root
|
UITabbarController
|
|- UINavigationController - navigationStack
| |- 1 - SomeViewController
| |- ...
| |- ...
| |- N'th...SomeViewController
|- SomeViewController
|- SomeViewController
|- SomeViewController
以上是正确的视图控制器层次结构。尝试以任何其他方式做到这一点并没有任何意义。 在示例中,我仅在导航控制器中嵌入了第一组控制器。它会做你要求的。您可以在任何标签栏位置使用此嵌入。
TabBarController使用VC包含来显示控制器。 您可以像这样嵌入控制器
答案 2 :(得分:1)
<强>解决方案:强>
我问这个问题是这样处理QuickActions的。这是工作解决方案,没有TabBar消失:https://stackoverflow.com/a/37710017/6423177
答案 3 :(得分:0)
如果您正在查看的视图控制器是标签栏视图控制器,那么您只需要:
let tabVC = storyboard.instantiateViewController("TABIDENTIFIER") as! UITabBarController
这将移动到控制器,就像您点击选项卡一样。
所以,你可以做tabVC.selectedIndex = index
(或CustomTabBarController)
然后选择索引div.listing > div.box--content.is--rounded
答案 4 :(得分:0)
如果您正在执行从UITabBarController
到UIViewController
的segue,则无法保持TabBar
显示,但是如果您从view controller
执行segue(即<{1}}的{{1}}选项卡不会被隐藏。