2017-02-01 102 views
0

我正在接收推送通知,并在负载上检查应用程序是否在后台。如果是,我想将用户重定向到消息屏幕。我的应用程序有导航控制器以及滑动菜单。我尝试使用此代码:收到推送通知后重定向到特定屏幕 - Swift

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) { 
      if (application.applicationState == UIApplicationState.inactive || application.applicationState == UIApplicationState.background ) { 
        let storyboard = UIStoryboard(name: "Main", bundle: nil) 
        let vc = storyboard.instantiateViewController(withIdentifier: "Message") 
        window?.rootViewController = vc 
      } 
    } 

但是这个屏幕负载时,它崩溃,因为它有很多部件缺失(UINavigation酒吧等)。是否有另一种重定向的方式,可能在创建必要的赛段时?

回答

0

如果您缺少导航栏/导航项目,您是否尝试将视图控制器推到导航栈上,然后将其设置为根vc?例如:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewController(withIdentifier: "Message") 
let navVC = UINavigationController(rootViewController: vc) 
window?.rootViewController = navVC 
相关问题