Как я могу представить внутри вкладки UITabBarViewController? - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу иметь возможность создать TabBarViewController с некоторыми вкладками, а затем добавить pu sh в заданные вкладки

let tabBarViewController = UITabBarController()
let redVc = UIViewController()
redVc.view.backgroundColor = .red

let blueVc = UIViewController()
blueVc.view.backgroundColor = .blue

tabBarViewController.viewControllers = [redVc, blueVc]

Это позволило создать tabBarViewController с красной и синей вкладками. Теперь я хочу положить sh желтый V C на красную вкладку, чтобы у меня была желтая и синяя вкладка.

let yellowVc = UIViewController()
yellowVc.view.backgroundColor = .yellow


tabBarViewController.modalPresentationStyle = .fullScreen

// this doesn't work
viewController.present(tabBarViewController, animated: true)

// must use this
tabBarViewController.viewControllers![0] = yellowVc

Что я должен сделать, чтобы иметь возможность представить на данной вкладке?

1 Ответ

0 голосов
/ 14 апреля 2020

Вы можете настроить свой UITabbarController таким образом, чтобы каждый его дочерний элемент был UINavigationController.

Все вместе, у вас тогда будет следующая иерархия:

  • UITabbarController

    • child1 (UINavigationController)
      • первый контент ViewController
    • child2 (UINavigationController)
      • второй контент ViewController

Теперь из каждого contentViewController вы можете использовать navigationcontroller.push для вывода sh нового viewController в стек и останется внутри вкладки.

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