У меня есть это приложение со следующей иерархией просмотра:
ГЛАВНАЯ
UINavigationController
MainViewController
UINavigationController
DashboardController
YTPageController
DashboardInitialViewController
ПОЛЬЗОВАТЕЛИ
UINavigationController
UsersViewController
ДОБАВИТЬ ПОЛЬЗОВАТЕЛЕЙ
UINavigationController
AddUsersViewController
С HOME
вы можете show segue
до USERS
, а с USERS
вы можете show segue
до ADD USERS
Я хочу иметь возможность нажать на локальное уведомление и перейти непосредственно к ADD USERS
, независимо от того, где я нахожусь в приложении.
Если я нахожусь в HOME
, проблем нет.
Проблема в том, что я нахожусь в USERS
, и я нажимаю на уведомление. Ничего не происходит.
Я пытаюсь удалить USERS
ИЗ Иерархии представления, но, похоже, ничего не происходит.
Это код, который выполняется при нажатии на уведомление:
if let conversationVC = storyboard.instantiateViewController(withIdentifier: "AddUsersViewController") as? AddUsersViewController {
if var navController = self.window?.rootViewController as? UINavigationController {
navController.isNavigationBarHidden = true
navController.popToRootViewController(animated: true)
navController.pushViewController(conversationVC, animated: true)
}
}
Я пробовал в другом контроллере навигации в HOME
, но тоже ничего.
if let conversationVC = storyboard.instantiateViewController(withIdentifier: "AddUsersViewController") as? AddUsersViewController {
if var navController = self.window?.rootViewController as? UINavigationController {
if let main = navController.viewControllers[0] as? UIViewController {
if let nav = main.navigationController as? UINavigationController {
nav.popToRootViewController(animated: true)
nav.isNavigationBarHidden = true
nav.pushViewController(conversationVC, animated: true)
}
}
}
}