Контроллер панели вкладок черного экрана - PullRequest
0 голосов
/ 06 мая 2020

Я столкнулся с проблемой. Когда я хочу изменить представление для контроллера представления вкладок, мое приложение выдает черный экран.

enter image description here

И вот мой код для изменения представления:

let homeViewController = self.storyboard?.instantiateViewController(identifier: Constants.Storyboard.homeViewController) as? HomeViewController

self.view.window?.rootViewController = homeViewController
self.view.window?.makeKeyAndVisible()

Constants.swift:

import Foundation

struct Constants {

    struct Storyboard {

        static let homeViewController = "homeVC"

    }
}

homeV C - это первое представление TabBarController с меткой.

1 Ответ

0 голосов
/ 06 мая 2020

Это мой путь. Кстати, я не использую раскадровку. Я использую xib.

let dashboardVc = DashboardTabController()
self.window!.rootViewController = dashboardVc
self.window!.makeKeyAndVisible()
self.window?.overrideUserInterfaceStyle = .light

, а затем в dashboardTabController введите этот.

import UIKit

class DashboardTabController: UITabBarController {

    @IBOutlet weak var dashboardTabBar: UITabBar!

    override func viewDidLoad() {
        super.viewDidLoad()

        let firstViewController = HomeViewController()

        firstViewController.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "ic_home_24px"), selectedImage: UIImage(named: "ic_home_24px"))

        let secondViewController = AddContactViewController()

        secondViewController.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "ic_group_add_24px"), selectedImage: UIImage(named: "ic_group_add_24px"))

        let tabBarList = [firstViewController, secondViewController]

        viewControllers = tabBarList
    }
}

не забудьте в DashBoardTabController xib реализовать UITabBar внизу. Надеюсь, это поможет. Просто упомяните меня, если вам понадобится дополнительная помощь в выполнении этого.

...