ios:UIAlertView自动消失

来源:互联网 发布:必备的办公软件 编辑:程序博客网 时间:2024/05/16 06:15

在写程序的过程中用到很多提示的信息,于是非常自然地就要使用UIAlertView控件。但是这些提示的信息有时候只需提示就行,不用操作,那么此时就要这个提示框自动消失就OK了。 UIAlertView弹出后2s让其自动消失,两种方法: (1)结合NSTimer

 定义UIAlertView *baseAlert;

 - (void) performDismiss: (NSTimer *)timer {    

 [baseAlert dismissWithClickedButtonIndex:0 animated:NO];//important     

 [baseAlert release];     

 baseAlert = NULL;

 }

 - (void) presentSheet {     

baseAlert = [[UIAlertView alloc]  initWithTitle:@"Alert" message:@"\nMessage Message Message "  delegate:self cancelButtonTitle:nil                               otherButtonTitles: nil];    

[NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector: @selector(performDismiss:)  userInfo:nil repeats:NO];   

[baseAlert show]; } 

(2)使用PerformSelectorwithObjectafterDelay:方法

 - (void) dimissAlert:(UIAlertView *)alert {    

 if(alert)     {        

 [alert dismissWithClickedButtonIndex:[alert cancelButtonIndex] animated:YES]; 

 [alert release];  

    }

 }  

- (void)showAlert{

 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"message" delegate:nil  cancelButtonTitle:nilotherButtonTitles:nil];         

 [alert show];

  [self performSelector:@selector(dimissAlert:) withObject:alert afterDelay:2.0];

}

0 0