您的位置:首页 > 产品设计 > UI/UE

退出应用到后台时清除UIAlertView以及多个UIAlertView重叠显示

2013-08-14 14:39 375 查看


退出应用到后台时清除UIAlertView

最近碰到的一个变态需求中要用到这个,留给后来人,希望能帮上忙

UIAlertView *alertViewShown = nil;

for (UIWindow* window in [UIApplication sharedApplication].windows)

{

NSArray* subviews = window.subviews;

if ([subviews count] > 0)

if ([[subviews objectAtIndex:0] isKindOfClass:[UIAlertView class]])

alertViewShown = [[subviews objectAtIndex:0] retain];

NSLog(@"alertView appeard!!");

[alertViewShown dismissWithClickedButtonIndex:0 animated:NO];

}

heqin:刚在模拟器iOS6上运行, 发现无效, 根据就找不到弹出的UIAlertView, 所以上述代码仅供参考,变通方法为使用self.alertView 来retain住最后弹出的AlertView,当要弹出下一个AlertView时, 先把self.alertview给执行dismissWithClickedButtonIndex 方法, 然后再重新赋值新的alertview, 注:用代码通过dismissWithClickedButtonIndex的方法来关闭alert
view,不会激发alertView的代理方法
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;

的调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐