Я представляю навигационный контроллер (подробный вид) с showDetailViewController ().Я хочу отклонить это, когда кнопка нажата.Как я могу отклонить этот viewcontroller?
Код, который я пытался:
//detailviewcontroller
@objc
func cancel(_ sender: Any) {
print("cancelPressed")
//self.navigationController?.popViewController(animated: true)
//self.navigationController?.dismiss(animated: true, completion: nil)
//self.dismiss(animated: true, completion: nil)
//splitViewController?.dismiss(animated: true, completion: nil)
//splitViewController?.navigationController?.popToRootViewController(animated: true)
//splitViewController?.navigationController?.popViewController(animated: true)
//splitViewController?.navigationController?.dismiss(animated: true, completion: nil)
//navigationController?.popViewController(animated: true)
//navigationController?.dismiss(animated: true, completion: nil)
//self.navigationController?.popToRootViewController(animated: true)
//self.navigationController?.viewControllers.remove(at: 1)
//self.navigationController?.viewControllers.remove(at: 0) - this one removes to blank view
//self.presentingViewController?.dismiss(animated: true, completion: nil)
}
Я пробовал несколько решений для стекопотока:
Отказ от контроллера представления навигации
Как отключить контроллер представления в навигационном контроллере, не отклоняя весь стек
ios swift - отклонить корневой контроллер представления навигационного контроллера
Невозможно отклонить View Controller, встроенный в Navigation Controller
Как отключить контроллер навигации, представленный от другого контроллера навигации в iOS 10и ниже?
Невозможно закрыть навигационный контроллер в Swift
Невозможно закрыть навигационный контроллер в Swift
Отключение контроллера вида не работает при использовании контроллера навигации
Отключение текущего контроллера навигации при нажатии на панели вкладок
Какотклонить определенный виКонтроллер ew
Как я представляю подробный контроллер просмотра:
//masterviewcontroller
// delegation for passing data between controllers
weak var passDelegate: PlaceSelectionDelegate?
func insertNewObject(_ sender: Any) {
if let detailViewController = passDelegate as? DetailViewController {
if let detailNavigationController = detailViewController.navigationController {
detailViewController.delegate = self
splitViewController?.showDetailViewController(detailNavigationController, sender: nil)
}
}
}
Ожидаемые результаты: отклонение подробного представления. Контроллер при нажатии кнопки.
Фактические результаты: без отклонения.