我在自定义类中实现了UIAlertview
类别。我从我的uitableviewcontroller
调用该方法来显示警告。但是在iPhone 4设备上的iOS7中,警报视图会快速点击uitableviewcells多次出现。
如果已经使用以下代码打开了alertview,我试图解除它。
for (UIWindow* w in [UIApplication sharedApplication].windows)
for (NSObject* o in w.subviews)
if ([o isKindOfClass:[UIAlertView class]])
[(UIAlertView*)o dismissWithClickedButtonIndex:[(UIAlertView*)o cancelButtonIndex] animated:YES];
但是这个代码在iOS 7中不起作用。我不确定我遵循的方式是否正确。
答案 0 :(得分:0)
迭代通过[UIApplication sharedApplication].windows
是一个坏主意。更好的概念是保留活动UIAlertView
的引用并在需要时将其关闭。
注意:强>
使用UIAlertView
属性isVisible
,它指示是否显示AlertView。
示例:强>
if (YES == alertViewInstance.isVisible)
{
//dismiss your alert view
}