0

大家好,我收到推送通知,如果應用程序處於活動狀態,我會爲用戶提供一個警報查看他/她是否想要查看通知。如果用戶選擇「是」,那麼我提出一個模式,所有這些都在應用程序委託中完成。如何在打開應用程序時添加uiviewcontroller並收到推送信息?

[[[[UIApplication sharedApplication] delegate] window].rootViewController presentModalViewController:EO animated:NO]; 

到目前爲止,一切正常,但是當我在應用程序,我是一個已經呈現模式,我得到以下警告:

Warning: Attempt to present <ABCViewcontroller: 0x201f27f0> on <SWViewController: 0x1f58c330> which is already presenting <UINavigationController: 0x201d3050> 

而且我沒有看到模態呈現的窗口。

回答

1

控制器一次只能有一個模態。一個潛在的快速解決方案是先排除潛在模態,然後再顯示新模態:

// Dismiss 
[self.window.rootViewController dismissViewControllerAnimated:NO completion:nil]; 

// Then present 
[self.window.rootViewController presentViewController:controller animated:YES completion:nil]; 
+0

好吧謝謝:) :)。是否有任何其他替代方案,而不是像addview? – veereev

+0

是的,你有其他選擇,當然。例如,您可以將窗口的根控制器設置爲任何「EO」。種類取決於你的用戶體驗。當我將用戶轉移到完全不同的體驗部分時,我喜歡通過重置主導航控制器(這是窗口的根)上的控制器堆棧來「拆除」當前上下文, –

相關問題