Check if UIView is displaying a UIAlertView

ios, objective-c, subview, uialertview, uiview

Solution

This will not work in iOS7 and above.

[alertView Show] adds subview on main window I guess.

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");
        }
    }
}

Problem

Is it possible to determine if the current UIView has a UIAlertView on display (other than setting a variable every time a UIAlertView is created). I'm thinking something along the lines of ``` if ([self.view.subviews containsObject:UIAlertView]) { ... } ``` But that obviously doesn't work.

Original source

Related problems