【发布时间】:2011-10-05 08:22:57
【问题描述】:
在我的客户端应用程序中,我有一个空闲超时控制机制,当用户在指定的时间间隔内没有对应用程序执行任何操作时,我会显示一个警告并将他返回到登录屏幕。此控件发生在我启动所有其他视图的容器视图中。当空闲时间到时,我将这个容器视图弹出给它的调用者,即登录屏幕。
问题是,如果用户做了一些显示操作表或弹出框的操作,然后在空闲时间结束之前不做任何事情,当我将他扔到登录屏幕时,操作表和弹出框也会保持打开状态登录屏幕,因为我没有关闭它们。
为了解决这个问题,我可以考虑让所有操作表和弹出框保留我的视图控制器的成员,然后在其所有者的 viewWillDisappear 方法中将它们解除。但是我有这么多视图控制器,所以我正在寻找其他方法,如果有的话。
那么,问题是如何在不知道调用者是谁的情况下让所有这些操作表和弹出框从我的登录屏幕中消失?
【问题讨论】:
-
更重要的是,您需要知道“他们”是谁,而不是谁打电话/展示了他们。如果是这种情况,您将需要集中显示它们的机制。
-
是的,当然。这就是为什么我打算把它们变成演示者的成员变量。将它们全部添加到全局数组中并实现一种机制,就像将它们解散的人也将它们从数组中删除一样,这是一个好主意吗?
-
这似乎是一个可行的解决方案 - 而且,最好一次只在屏幕上显示一个弹出框(如果现在这甚至是一个问题)
-
是的,我检查一次只有一个弹出窗口。所以在一个更好的主意出现之前,我会尝试这个。谢谢你的灵感:]
标签: objective-c ios uipopovercontroller uiactionsheet dismiss