- UIAlertView弹出后2s让其自动消失,两种方法:
- (1)结合NSTimer
- UIAlertView baseAlert = nil;
- - (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)使用PerformSelector:withObject:afterDelay:方法
- - (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:nil otherButtonTitles:nil];
-
- [alert show];
- [self performSelector:@selector(dimissAlert:) withObject:alert afterDelay:2.0];
- }
复制代码
|
|