objective c - sclalertview - Compruebe si UIView está mostrando un UIAlertView
swift custom alert controller (3)
¿Es posible determinar si el UIView actual tiene un UIAlertView en exhibición (que no sea establecer una variable cada vez que se crea un UIAlertView).
Estoy pensando algo así como
if ([self.view.subviews containsObject:UIAlertView]) { ... }
Pero eso obviamente no funciona.
Creo que funcionará:
-(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
}
Si almacena UIAlertView como una propiedad en el controlador de vista que lo muestra y luego ejecuta su código:
if ([self.view.subviews containsObject:self.myalertview]) { ... }
Eso debería funcionar.
Esto no funcionará en iOS7 y superior.
[alertView Show] agrega subvista en la ventana principal, supongo.
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");
}
}
}