出于某种原因,我需要在conatiner视图中插入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)
答案 0 :(得分:0)
好的,所以我知道了。 有两种解决方法:
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)
}