你如何从App代表中解雇UIActionSheet?

时间:2011-06-12 02:51:02

标签: iphone uiactionsheet uiapplicationdelegate dismiss

我正在尝试从应用代理中删除UIActionSheet,以便从后台返回时不再显示。我试图从子类视图控制器中的viewDidUnloadviewDidDisappear方法中删除操作表,但在应用程序背景时似乎没有调用它。

因此,我正在尝试使用应用委托来解除可能在应用背景时显示的UIActionSheet。但我无法弄清楚该怎么称呼。有没有人有办法解决吗?或者更好的想法来完成同样的事情?

感谢。

2 个答案:

答案 0 :(得分:4)

@Dylan你可以做的是你可以为你的uiactionsheet变量声明属性并合成它。

然后在applicationDidBecomeActive方法的appdelegate中,您可以通过执行类似此[viewController.actionSheet dismissWithClickedButtonIndex:0 animated:NO]之类的操作来调用dismiss方法来关闭该操作表。假设您在appdelegate中有引用。

但如果没有,那么你可以找到uiwindow顶部显示的所有UIViews,然后检查是否有任何uiviews是显示动作表的类。之后,一旦掌握了显示动作表的viewController,就可以通过执行上述操作来解除操作表。

答案 1 :(得分:3)

尝试使用applicationDidBecomeActive的{​​{1}}方法解散。