Контроллер панели вкладок черный и вкладки исчезают при нажатии - PullRequest
0 голосов
/ 11 января 2019

В Моей раскадровке у меня есть контроллер панели вкладок с тремя контроллерами представления таблиц, каждый из которых обернут в отдельный контроллер навигации и подключен к контроллеру представления вкладок. Когда код запускается изначально, панель вкладок отображается со всеми вкладками, но дисплей контроллера отображения черный. После нажатия вкладки появляется соответствующий контроллер, но все вкладки, включая ту, которую я нажал, исчезают. Если я продолжу нажимать на панель вкладок с приблизительным расположением вкладок, то появится каждый контроллер. Но панель вкладок пуста. Я попытался установить вкладку isHidden на false, но не повезло. Также почему первый раз дисплей контроллера черный. Как я могу это исправить?

Код:

extension ViewTabBarController: UITabBarControllerDelegate {
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
        let myVC1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "EVC") as! TableViewController1
        myVC.selectedTab = self.selectedTab

        let myVC2 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "PVC") as! TableViewController2

        let myVC3= UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "TVC") as! TableViewController3

    let controllers = [myVC1, myVC2, myVC3,]

        self.viewControllers = controllers.map { UINavigationController(rootViewController: $0)}
    }
}
class ViewTabBarController: UITabBarController {
    var selectedTab:Int = 0
    override func viewDidLoad() {
        super.viewDidLoad()
        self.delegate = sell
    }
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.tabBarController?.tabBar.isHidden = false
    }
    override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
        self.selectedTab = (tabBar.items?.index(of: item))!
        print (self.selectedTab)

    }

1 Ответ

0 голосов
/ 11 января 2019

Попробуйте, это может вам помочь.

Ваша раскадровка такая? enter image description here

Если да, тогда tabController может быть начальным viewController. Как enter image description here

...