2011-01-22 57 views
1

如果应用程序委托人收到-willResignActive消息,并且UIAlertView在0.5秒内显示,则该应用程序将在其再次变为活动状态时显示两个警报视图(一个为副本)。iPhone应用程序进入后台状态并呈现UIAlertView

这是一个问题,因为如果响应第一个警报视图意味着没有响应者重复(可能!)应用程序将只会崩溃。

想法?

+0

不是一个答案,只是一个提示:如果你仍然有对alert视图的引用,你可以通过[dismissWithClickedButtonIndex:animated:](http://developer.apple.com/library/ios/documentation /uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html#//apple_ref/occ/instm/UIAlertView/dismissWithClickedButtonIndex:animated :) – DarkDust 2011-01-22 09:37:05

回答

0

我拥有的最佳解决方案是保留对UIAlertView的静态引用,解除(通过单击按钮索引-1)释放,然后在同一地址分配/初始化新实例。这确保了只有一个警报视图计划或显示。如果警报视图已经显示,请忽略(或管理)新请求(故障安全弹出到根视图等)。

这并不令人满意,因为UIAlertView与工作无关,不应该是静态的。至少在我看来。

相关问题