Скрытый UITabBar, пока UITabBarController вставлен в контейнер - PullRequest
0 голосов
/ 25 февраля 2019

По какой-то причине мне нужно вставить UITabBarController в представление conatiner.

Когда отображается UITabBarController (VC с представлением контейнера пропускается), оно работает отлично и все показывается.Но когда я вставляю его в UIView, как показано ниже, UITabBar существует в иерархии отладочных представлений, но не отображается в приложении.В обоих случаях атрибуты UITabBar в инспекторе объектов одинаковы.

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

1 Ответ

0 голосов
/ 25 февраля 2019

Хорошо, я понял это.Есть два способа исправить это:

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)
}
...