将 UITabBarController 插入容器视图时隐藏 UITabBar

Hidden UITabBar while UITabBarController is inserted into container view

出于某种原因,我需要将 UITabBarController 插入容器视图。

UITabBarController 本身出现时(VC 与容器视图被跳过)它完美地工作并且正在显示所有内容。但是当我将它插入 UIView 时,如下所示 UITabBar 存在于 Debug View Hierarchy 中,但在应用程序中不可见。在这两种情况下,对象检查器中 UITabBar 的属性是相同的。

private var tabBar: TabBarController!
@IBOutlet private var tabBarContainer: UIView! 
...
addChildViewController(tabBar)
tabBarContainer.addSubview(tabBar.view)
tabBar.didMove(toParentViewController: self)

好的,我已经弄明白了。 有两种修复方法:

1:

addChildViewController(tabBar)
tabBar.view.frame = tabBarContainer.bounds
tabBarContainer.addSubview(tabBar.view)
tabBar.didMove(toParentViewController: self)

2:

addChildViewController(tabBar)
tabBarContainer.addSubview(tabBar.view)
tabBar.view.translatesAutoresizingMaskIntoConstraints = false
tabBarContainer.translatesAutoresizingMaskIntoConstraints = false
tabBarContainer.snp.makeConstraints { make in
    make.bottom.equalTo(tabBar.view.snp.bottom)
    make.top.equalTo(tabBar.view.snp.top)
    make.left.equalTo(tabBar.view.snp.left)
    make.right.equalTo(tabBar.view.snp.right)
}