首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >didReceiveRemoteNotification与模态视图

didReceiveRemoteNotification与模态视图
EN

Stack Overflow用户
提问于 2011-10-24 07:02:04
回答 1查看 973关注 0票数 0

我的应用程序代表有一个RootViewController *viewController;该应用程序是用这个视图启动的。

从现在开始,当用户导航到应用程序中的不同功能时,我将继续显示模态视图(最多3层)。

我已经设置了应用程序来接收推送通知,并且我在应用程序委托中有didReceiveRemoteNotification来检索有效负载。

现在的问题是:

  1. 当收到推送通知时,如何知道用户当前处于哪个模式视图?
  2. 如何关闭所有模态视图以返回RootViewController?我真的可以在应用程序委托中这样做吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-24 07:37:52

没有通用的内置方法来做这件事。最好的解决方案可能是将一个属性添加到您的应用程序委托中,在那里可以存储它。

代码语言:javascript
复制
@property (nonatomic, retain) UIViewController *currentModalViewController;

当您呈现模态视图控制器时,请执行以下操作:

代码语言:javascript
复制
#import "MyAppDelegate.h"

// ....
MyAppDelegate *appDelegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;
appDelegate.currentModalViewController = vc;
[self presentModalViewController:vc animated:YES];

您还需要确保在退出时丢失引用:

代码语言:javascript
复制
[self dismissModalViewControllerAimated:YES];
MyAppDelegate *appDelegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;
appDelegate.currentModalViewController = nil;

然后,在您的应用程序委托,您有您需要的一切,以取消当前的模态视图控制器,并检查是否有一个模态视图控制器存在的时候。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7872238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档