Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios DidReceiveEmoteNotification在运行时从任意位置显示ViewController_Ios_Swift_Uinavigationcontroller_Push Notification_Presentviewcontroller - Fatal编程技术网

Ios DidReceiveEmoteNotification在运行时从任意位置显示ViewController

Ios DidReceiveEmoteNotification在运行时从任意位置显示ViewController,ios,swift,uinavigationcontroller,push-notification,presentviewcontroller,Ios,Swift,Uinavigationcontroller,Push Notification,Presentviewcontroller,当收到远程通知时,我试图显示一个UIViewController 我的代码工作到一定程度,但当应用程序正在运行且用户位于第一个屏幕/导航堆栈以外的任何位置时,UIViewController不会显示 有人能帮忙吗?注意:当显示UIViewController时,我希望保留导航栏 当我尝试在其他地方显示“UIViewController”时,会收到此警告 警告:尝试显示不在窗口层次结构中的视图 提前谢谢 这是我的didReceivereMotentification: func applicati

当收到远程通知时,我试图显示一个
UIViewController

我的代码工作到一定程度,但当应用程序正在运行且用户位于第一个屏幕/导航堆栈以外的任何位置时,
UIViewController
不会显示

有人能帮忙吗?注意:当显示
UIViewController
时,我希望保留导航栏

当我尝试在其他地方显示“UIViewController”时,会收到此警告

警告:尝试显示不在窗口层次结构中的视图

提前谢谢

这是我的
didReceivereMotentification:

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {

  var payload = userInfo
  let requestID = payload["requestID"] as! String


  let rootViewController = self.window!.rootViewController as! UINavigationController

  let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
  let vc : RequestViewController = storyboard.instantiateViewControllerWithIdentifier("RequestViewController") as! RequestViewController
    vc.requestID = requestID

  let navigationController = UINavigationController(rootViewController: vc)

  rootViewController.presentViewController(navigationController, animated: true, completion: nil)

}
通过更改来修复它:

rootViewController.presentViewController(navigationController, animated: true, completion: nil)
致:


用户如何输入新的导航堆栈?(例如,您使用的是UITabBar吗?)不,没有UITabBar,只有一系列UINAVIGATIONController,视图显示,但仅在第一个堆栈上,因此初始视图控制器仅编辑带警告的问题
rootViewController.visibleViewController!.presentViewController(navigationController, animated: false, completion: nil)