Я использую push-уведомления в своем приложении. Поэтому, когда я получаю уведомление и касаюсь его, я хочу перейти к другому UITabbarcontroller
, но когда я это делаю, приложение показывает только UINavigationbar
и не UITabbarcontroller
. Этот скриншот ->Как открыть конкретный uitabbarcontroller из AppDelegate с push-уведомлениями?
И это мой код.
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "RequestDriverViewController") as! RequestDriverViewController
let nc = UINavigationController(rootViewController: vc)
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = nc
self.window?.makeKeyAndVisible()
Пожалуйста, прочитайте раздел «Реагирование на уведомления и события» в документации: https://developer.apple.com/reference/uikit/uiapplicationdelegate – matt
Вам необходимо предоставить подробные сведения о вашей иерархии контроллера навигационного контроллера/панели вкладок. Обычно есть контроллер панели вкладок sibfly, который, в свою очередь, содержит несколько навигационных контроллеров, поэтому обычным подходом является переход на желаемую вкладку, возможно, появление нежелательных контроллеров на этом пути, но ваша конкретная ситуация может быть совсем иной ... – jcaron
@ jcaron Спасибо за ваши комментарии, действительно были полезны, у меня много работы, и поэтому я не мог видеть, что я должен сначала получить идентификатор UItabbarcontroller до UIViewcontroller. Итак, это код, который я использовал для решения моего вопроса: let vc = UIStoryboard (имя: «Main», bundle: nil) .instantiateViewController (withIdentifier: «TabBarIdentifier») как! UITabBarController self.window = UIWindow? (Кадр: UIScreen.main.bounds) self.window .rootViewController = VC self.window .makeKeyAndVisible() Большое спасибо –