2016-04-26 25 views
1

如何在alertview中選擇取消按鈕時關閉數組中的所有alertview?我在數組中有5個alertview ..如果我從第一個alertview中選擇取消,那麼它將需要關閉剩餘的所有警報而不是顯示。如何在alertview中選擇取消按鈕時關閉數組中的所有alertview?

for (NSDictionary *temp in [RMUserDefaults userDetails].SharedFolders) 
    { 
     NSString *name = temp[@"Name"]; 

     sharedFolderId = [RMUserDefaults userDetails].SharedFolders[0][@"id"]; 

     alert1= [[CustomUIAlertView alloc]initWithTitle:LString(@"RECEIPT_MATCH") message:[NSString stringWithFormat:@"%@ has SharedFolders you to a Team Plan.", name] delegate:self cancelButtonTitle:LString(@"CANCEL") otherButtonTitles:[NSMutableArray arrayWithObjects:LString(@"Upgrade Now"),nil]]; 
     alert1.tag = 12365; 
     [alert1 show]; 
     double delayInSeconds = 5.0; 
     dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); 
     dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 
     }); 
    } 

回答

3

您可以使用下面的代碼解除UIAlertView。

UIWindow *window = [UIApplication sharedApplication].keyWindow; 
for (UIView *view in w.subviews) { 
    if ([view isKindOfClass:[UIAlertView class]]) { 
     [(UIAlertView *)view dismissWithClickedButtonIndex:[(UIAlertView *)view cancelButtonIndex] animated:YES]; 
    } 
} 

我希望它能幫助你。

+0

沒有未在ios9或IOS 8工作 –

+0

UIAlertView中* topAlert = [NSClassFromString(@ 「_ UIAlertManager」) performSelector:@selector(topMostAlert)] –

+1

不是不行,我在最近的項目中嘗試過所有方法,但它不起作用 –

0
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"title" message:@"message" delegate:nil cancelButtonTitle:nil otherButtonTitles:nil]; 
     [alert1 show]; 
     [self performSelector:@selector(dismiss:) withObject:alert1 afterDelay:1.0]; 

附加駁回方法

-(void)dismiss:(UIAlertView*)alert 
    { 
     [alert dismissWithClickedButtonIndex:0 animated:YES]; 
    } 
0
UIWindow *Mywindow = [UIApplication sharedApplication].keyWindow; 

for (UIView *costumview in w.subviews) 
{ 
    if ([view isKindOfClass:[UIAlertView class]]) 
    { 
     [(UIAlertView *)view dismissWithClickedButtonIndex:[(UIAlertView *)view cancelButtonIndex] animated:YES]; 
    } 
} 
相關問題