2017-02-01 99 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 
相關問題