Skip to content

Instantly share code, notes, and snippets.

@annidy
Created June 14, 2014 03:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save annidy/c3ae041bc0312ef62245 to your computer and use it in GitHub Desktop.
Save annidy/c3ae041bc0312ef62245 to your computer and use it in GitHub Desktop.
获取能用于显示的baseview,排除警告框
- (void)baseView
{
BOOL hasAlertView = FALSE;
UIView* baseView = [UIApplication sharedApplication].keyWindow;
for (UIWindow* w in [UIApplication sharedApplication].windows) {
for (UIView *o in w.subviews)
{
[self dismissAlertView:o didDismiss:&hasAlertView];
}
}
if (hasAlertView) {
baseView = [[UIApplication sharedApplication].windows objectAtIndex:0];
}
return baseView;
}
- (void)dismissAlertView:(UIView *)w didDismiss:(BOOL*)hasAlertView
{
if ([w respondsToSelector:@selector(dismissWithClickedButtonIndex:animated:)] && [w respondsToSelector:@selector(cancelButtonIndex)])
{
[(UIAlertView *)w dismissWithClickedButtonIndex:[(UIAlertView *)w cancelButtonIndex] animated:NO];
*hasAlertView = YES;
return;
}
for (UIView *o in w.subviews) {
[self dismissAlertView:o didDismiss:hasAlertView];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment