【发布时间】:2013-07-23 07:23:39
【问题描述】:
这就是我想要做的。 我正在创建一个应该处理来自 Apple 地图应用程序的请求的路由应用程序。地图应用通过向应用委托发送以下消息来实现这一点
- (BOOL) application: (UIApplication *) application
openURL:(NSURL *) url
sourcApplication:(NSString *)sourceApplication
annotation:(id)annotation
问题是,我的应用程序此时可能已经在执行并且处于任何状态。导航堆栈中可能有好几层,也可能导航堆栈中只有一个根控制器,但当前覆盖了一个模态视图。
无论它在哪里,我都想弹出所有视图控制器以只保留一个最顶层的视图控制器,我知道该怎么做。但我也想关闭任何模态视图,如果它在那里,我不知道该怎么做。
我怎么知道模态视图(或者是否存在多个可能的模型视图,但事实并非如此,但我是为了这个问题而问的。)是否涵盖了它?我想解雇它?是否可以直接从应用程序委托访问?现在我只是在导航堆栈的最顶层视图控制器中保留模态视图控制器的指针引用,如果引用不为零,则关闭视图控制器。应用委托只是要求最顶层的视图控制器完成这项工作。
这样合适吗?
【问题讨论】:
标签: ios ios6 modal-dialog