У меня есть следующий код, который устанавливает и показывает UIViewController для встраивания в UINavigationController:
private func transitionToMainVC() {
let vc = UINavigationController(rootViewController: SpacesVC())
DispatchQueue.main.async {
self.show(vc, sender: self)
}
}
Теперь в SpacesVC
я хочу show()
другой UIViewController, но за пределами"parent" UINavigationController
.
Когда я использую следующий код в SpacesVC
:
// Called by a button touch up inside
@objc private func transitionToMainVC() {
let vc = NextVC()
self.show(vc, sender: self)
}
Он переходит на NextVC
, но показывает панель навигации в верхней частиэкран;т. е. новый контроллер представления все еще встроен в соответствии с определениями UINavigationController
, указанными в первом фрагменте.
Мне известно о возможности скрытия панели навигации в NextVC
как таковой:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navController.isNavigationBarHidden = true
}
Но я хочу show()
NextVC
без встраивания его в контроллер навигации, так как он мне больше не понадобится.Как я могу это сделать?