Панель навигации не будет отображаться после нажатия контроллера вида - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь перейти от View Controller к другому.Я использую эту функцию, когда пользователь нажимает кнопку, чтобы перейти к новому контроллеру вида:

    @objc private func infoButtonTap(){
    let navVC = UINavigationController()
    navVC.addChild(AboutViewController())
    self.navigationController?.pushViewController(AboutViewController(), animated: true)
}

Проблема в том, что новый контроллер представления представлен на экране, но у меня нетпанель навигации и кнопка возврата для перемещения назад.Я не использую раскадровку, так как хочу научиться кодировать интерфейс.Я попробовал несколько вещей, которые нашел здесь, на Stackoverflow, но ни одна из них не сработала для меня.Как настроить новый контроллер вида на навигационную панель с кнопкой возврата?

Ответы [ 3 ]

0 голосов
/ 06 октября 2018

Вам нужно нажать на контроллер просмотра.Попробуйте это

let aboutVC = AboutVC()
self.navigationController?.pushViewController(aboutVC, animated: true)
0 голосов
/ 07 октября 2018

UINavigationController содержит переменную isNavigationBarHidden

@objc private func infoButtonTap(){
    let navVC = UINavigationController()
    navVC.addChild(AboutViewController())
    self.navigationController?.isNavigationBarHidden = false
    self.navigationController?.pushViewController(AboutViewController(), animated: true)
}
0 голосов
/ 06 октября 2018

Чтобы навигация была видимой и использовалась в приложении, сначала вам нужно настроить контроллер навигации с контроллером Root View, т.е. ваш первый контроллер, и оттуда вы можете использовать метод push на вашем объекте контроллера навигации, чтобы выдвинуть контроллерв стек.

Например,

let navVC = UINavigationController.init(rootViewController: YourFirstViewControllerObject())
navVC.pushViewController(NewViewControllerObj(), animated: true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...