为子视图控制器访问 UITabBarController

Accessing UITabBarController for child viewControllers

如果我使用 UITabBarController Item1 和 Item2 viewControllers 会正确显示。但是 UITabBarButtonItem 没有显示 item1 的重定向页面。 UITabBarButtonItem 必须显示在所有页面上。

我的问题是 UITabBarButtonItem 不显示 childViewController(红色页面)。如何将 UITabBarButtonItem 显示到 childViewController?

首先,您应该将层次结构中的第一个视图控制器(蓝色视图控制器)嵌入到导航控制器中。然后,在红色视图控制器中,确保 hidesBottomBarWhenPushed 属性 设置为 false:

// for instance, let's assume that you will do it in the `viewDidLoad()`:
override func viewDidLoad() {
    super.viewDidLoad()

    hidesBottomBarWhenPushed = false

    // ...
}

或者,如果您想从界面生成器、select 红色视图控制器和属性检查器实现,并确保未选中 "Hide Bottom Bar on Push" 选项:



否则,如果没有导航控制器(呈现而不是推送),则无法在红色视图控制器中显示底部栏。