Я пытаюсь добавить пользовательский элемент панели кнопок в UIDocumentBrowserViewController
.Я могу добавить пользовательский элемент панели, используя свойство массива additionalLeadingNavigationBarButtonItems
.Я могу активировать эту кнопку при запуске приложения, однако, кроме того, когда я запускаю кнопку, я бы хотел поместить новый контроллер представления в стек навигации UIDocumentBrowserViewController
.Существует свойство UIDocumentBrowserViewController
.navigationController, однако при запуске программы это значение равно нулю.Существует ли правильный способ доступа к навигационному контроллеру, связанному с UIDocumentBrowserViewController
, и как правильно выдвигать новый контроллер вида из кнопки панели.Спасибо
override func viewDidLoad() {
super.viewDidLoad()
delegate = self
allowsDocumentCreation = true
allowsPickingMultipleItems = false
let barButton = UIBarButtonItem.init(title: "⚙︎", style: .plain, target: self, action: #selector(browserSettings))
additionalLeadingNavigationBarButtonItems = [barButton]
}
@objc func browserSettings() {
print("in browserSettings")
let settingViewController = HelpViewController()
settingViewController.setupView()
settingViewController.textView.text = "hello"
settingViewController.textView.contentOffset = CGPoint.zero
let navController = self.navigationController
navController?.pushViewController(settingViewController, animated: true)
//navController is nil??
}
, когда я запускаю кнопку, программа просто печатает "в настройках браузера". NavController равен nil