Панель навигации отсутствует при просмотре - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть раскадровка с множеством видов и таблиц, все встроенные в контроллеры навигации и все в одном root TabBarController. Затем у меня есть кнопка в ячейке, где я хочу представить представление в виде листа страницы. Этот ViewController встроен в отдельный NavigationController и не является частью TabBarController.

Моя проблема заключается в том, что при представлении этого ViewController навигационная панель отсутствует.

Итак, я нахожусь в tab1, контроллер навигации, на 2 уровня ниже:

        if let stockVC = storyboard?.instantiateViewController(withIdentifier: "Stock") as? StockTableViewController {
        stockVC.stockToDisplay = commonData.stock.filter { $0.productID.contains(product) }
        // No NavigationBar with this one
        navigationController?.present(stockVC, animated: true)
        // No NavigationBar with this one
        self.present(stockVC, animated: true)
    }

Я знаю, что навигационная панель работает, потому что, если я устанавливаю ViewController как начальный в раскадровке, он показывает .

Что я здесь не так делаю?

1 Ответ

1 голос
/ 04 апреля 2020

Когда вы представляете контроллер представления, он не является частью текущего стека навигации. Вам необходимо создать новый навигационный контроллер с вашим пакетом V C и представить новый навигационный контроллер:

if let stockVC = storyboard?.instantiateViewController(withIdentifier: "Stock") as? StockTableViewController {
    stockVC.stockToDisplay = commonData.stock.filter { $0.productID.contains(product) }
    let stockNavigationController = UINavigationController(rootViewController: stockVC)
    self.present(stockNavigationController, animated: true)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...