У меня есть боковое меню с использованием SwRevealViewController.У меня есть настройки с интерфейсом Builder и работает так, как нужно.Это дизайн storyBoard
Следуя потоку приложения, всегда нужно пройти мимо красного навигационного viewController, который обрабатывает меню, желтыйодин - это представление меню, а зеленый - это один контроллер представления, который мне нужно представить при получении push-уведомления, независимо от состояния приложения.Пока я могу это сделать, перейдите к зеленому контроллеру вида, не проходя мимо красного, используя этот код:
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
let userInfo = response.notification.request.content.userInfo
print("did Recive remote")
if let messageID = userInfo["gcmMessageIDKey"] {
print("Message ID: \(messageID)")
}
print(userInfo)
completionHandler()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "porterDetail")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
}
После того, как это представление не показывает никакого контроллера навигации или даже невозможно создать боковое меню, используяэтот код.
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "SWRevealViewController") as! SWRevealViewController
self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "ico_menu"), style: .plain, target: initialViewController, action: #selector(initialViewController.revealToggle(_:)))
Но меню не отображается и ничего не происходит.любая идея, как показать меню в этом представлении, чтобы позволить пользователю выйти, или какой другой подход, чтобы просмотреть и сохранить навигацию.