是否可以确定当前 UIView 是否显示 UIAlertView(除了每次创建 UIAlertView 时设置一个变量)。
我在想一些事情
if ([self.view.subviews containsObject:UIAlertView]) { ... }
但这显然行不通。
是否可以确定当前 UIView 是否显示 UIAlertView(除了每次创建 UIAlertView 时设置一个变量)。
我在想一些事情
if ([self.view.subviews containsObject:UIAlertView]) { ... }
但这显然行不通。
这在 iOS7 及更高版本中不起作用。
[alertView Show]我猜在主窗口上添加子视图。
for (UIWindow* window in [UIApplication sharedApplication].windows){
for (UIView *subView in [window subviews]){
if ([subView isKindOfClass:[UIAlertView class]]) {
NSLog(@"has AlertView");
}else {
NSLog(@"No AlertView");
}
}
}
我认为它会起作用:
-(BOOL) doesAlertViewExist
{
if ([[UIApplication sharedApplication].keyWindow isMemberOfClass:[UIWindow class]])
{
return NO;//AlertView does not exist on current window
}
return YES;//AlertView exist on current window
}
如果您将 UIAlertView 作为属性存储在显示它的视图控制器上,然后运行您的代码:
if ([self.view.subviews containsObject:self.myalertview]) { ... }
那应该行得通。