Приложение панели вкладок iOS с UITableViewController - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу добавить Tabbar в свое приложение.Панель вкладок не отображается, хотя я уже добавил коды.Как мне добавить AppDelegate, если я не могу добавить его из UITableViewController?Что мне лучше сделать?

class MainTableViewController: UITableViewController {

     private func tabbar() {
            let tabBarController = FluidTabBarController()
            tabBarController.tabBar.tintColor = UIColor(red: 0.2431372549, green: 0.4235294118, blue: 1, alpha: 1)
            let viewControllers = [
                ("News", #imageLiteral(resourceName: "output-onlinepngtools")),

                ].map(createSampleViewController)
            tabBarController.setViewControllers(viewControllers, animated: true)

        }

        private func createSampleViewController(title: String, icon: UIImage) -> UIViewController {
            let viewController = UIViewController()
            viewController.view.backgroundColor = #colorLiteral(red: 0.9490196078, green: 0.9529411765, blue: 0.968627451, alpha: 1)
            let item = FluidTabBarItem(title: title, image: icon, tag: 0)
            item.imageColor = #colorLiteral(red: 0.7960784314, green: 0.8078431373, blue: 0.8588235294, alpha: 1)
            viewController.tabBarItem = item
            return viewController
        }

    override func viewDidLoad() {
            super.viewDidLoad()
            tabbar()
    }
 }

1 Ответ

0 голосов
/ 30 апреля 2019

Я думаю, это то, что вы просили, просто вставьте ваш ViewController в UITabBarController

storyboard

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

class MyUITabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let firstViewController = FirstViewController()

        firstViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .search, tag: 0)

        let secondViewController = SecondViewController()

        secondViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .more, tag: 1)

        let tabBarList = [firstViewController, secondViewController]

        viewControllers = tabBarList
    }
}

Затем создайте экземпляр вашего UITabBarController в didFinishLaunchingWithOptions

window?.rootViewController = MyUITabBarController()
window?.makeKeyAndVisible()

и работа будет выполнена!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...