Элементы NavigationBar не отображаются - PullRequest
0 голосов
/ 28 июня 2018

Элементы NavigationBar не отображаются, если мой пользовательский ViewController помещен в пул, отображается только при модальном представлении.

Появляется панель навигации, только элементы не отображаются.

Кажется, что он не может найти правильный NavigationController, если VC нажат.

Есть идеи?

Полный код на Github (FileExplorerViewController() вызывается при нажатии)

Вызов:

final class DirectoryContentViewController: UICollectionViewController {    
    let editBarButtonItem = UIBarButtonItem(title: viewModel.editActionTitle, style: .plain, target: self, action: #selector(handleEditButtonTap))
        activeRightBarButtonItem = editBarButtonItem

Расширение:

extension UIViewController {
  var activeRightBarButtonItem: UIBarButtonItem? {
      get {
          return activeNavigationItem?.rightBarButtonItem
      }

      set(newValue) {
          navigationItem.rightBarButtonItem = newValue
          activeNavigationItem?.rightBarButtonItem = newValue
      }
  }

  var activeNavigationItem: UINavigationItem? {
      guard let viewController = navigationController?.topViewController else { return nil }

      if viewController.navigationItem === navigationItem {
          return navigationItem
      } else {
          return parent?.activeNavigationItem
      }
  }
}

1 Ответ

0 голосов
/ 28 июня 2018

Откройте раскадровку, выберите нужный контроллер и сделайте, как показано на изображении. Встраивается с помощью контроллера навигации

enter image description here

другой путь -

override func viewWillAppear(_ animated: Bool) {
        self.navigationController?.navigationBar.isHidden = false }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...