如何实现两个UIViewController堆栈行为

时间:2018-11-05 10:47:09

标签: swift uinavigationcontroller uitabbarcontroller

我注意到WhatsApp在其iOS应用上的导航行为较为简洁。请参阅以下内容:

enter image description here

此处有两种导航堆栈行为:

  1. UINavigationController作为UITabBarController的子代
  2. UITabBarController作为UINavigationController的子代

如何像WhatsApp一样同时实现这两个目标?它是否使用自定义的UINavigationController

当前,我的实现只执行2号,而不执行1号。我知道要执行1号,必须将UINavigationController作为UITabBarController的子级,但是我将丢失2号。

但是,如果我同时实现这两个方法,则会在两个导航栏上得到奇怪的结果,例如:

enter image description here

1 个答案:

答案 0 :(得分:1)

在您提供的示例中,看起来他们有UITabBarController作为根视图控制器。设置是导航控制器内部的视图控制器。

点击数据和存储时,它将另一个视图控制器推入“设置”导航控制器的堆栈中。

当您按下 Help 时,它会执行相同的操作-但是当将Help视图控制器推入堆栈时,选项卡栏被隐藏。

有关其他方法,请参见hide / show tab bar when push / back. swift