Как добавить ViewController по умолчанию вместе с панелью навигации ViewController - PullRequest
0 голосов
/ 07 января 2020

Я реализовал menuViewVontroller для навигационной панели, которая работает нормально. Я могу отображать контроллеры на соответствующих кнопках меню. У меня есть один ViewController, который загружается первым, а затем я отображаю другие контроллеры представления из меню навигации, т.е. в главном меню отображается homeViewVontroller et c. как вы можете видеть на снимках экрана.

enter image description here enter image description here

Но я также хочу, чтобы мое приложение показывало homeControllerView когда загружается viewController. В настоящее время он отображает пустой экран, поскольку контроллер представления пуст. Когда я пишу приведенный ниже код в методе viewDidLoad(), я не получаю навигационную панель, отображается только homeViewController (как показано на рисунке ниже).

enter image description here

let view = UIView()
    let controller = storyboard!.instantiateViewController(withIdentifier: "SliderController")
    addChild(controller)
    view.frame = self.view.bounds
    self.view.addSubview(controller.view)
    self.topView = view

Что я могу сделать, чтобы отобразить homeViewController и menuViewController на одном экране.

РЕДАКТИРОВАТЬ: Мой код, когда пользователь нажимает на пункт меню

@IBAction func didTapMenuButton(_ sender: UIBarButtonItem) {
    guard let menuViewController = storyboard?.instantiateViewController(withIdentifier: "MenuViewController") as? MenuViewController else { return }
    menuViewController.didTapMenuType = {
        menuType in
        self.transitionToNew(menuType)
    }
    menuViewController.modalPresentationStyle = .overCurrentContext
    menuViewController.transitioningDelegate = self
    present(menuViewController, animated: true)
}
func transitionToNew(_ menuType: MenuType) {
    let title = String(describing: menuType).capitalized
    self.title = title

    topView?.removeFromSuperview()
    switch menuType {


    case .promotion:
        let view = UIView()
        view.backgroundColor = .yellow
        view.frame = self.view.bounds
        self.view.addSubview(view)
        self.topView = view
    case .billPayment:
        let view = UIView()
        view.backgroundColor = .blue
        view.frame = self.view.bounds
        self.view.addSubview(view)
        self.topView = view
    default:
        break
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...