- (void)timerFireMethod:(NSTimer*)theTimer//弹出框
{
UIAlertView *promptAlert = (UIAlertView*)[theTimer userInfo];
[promptAlert dismissWithClickedButtonIndex:0 animated:NO];
promptAlert =NULL;
}
- (void)showAlert:(NSString *) _message{//时间
UIAlertView *promptAlert = [[UIAlertView alloc] initWithTitle:@"提示:" message:_message delegate:nil cancelButtonTitle:nil otherButtonTitles:nil];
[NSTimer scheduledTimerWithTimeInterval:1.5f
target:self
selector:@selector(timerFireMethod:)
userInfo:promptAlert
repeats:YES];
[promptAlert show];
}
在需要显示弹出框的地方调用[self showAlert:@"测试"];即可。
原理: 弹出的时候, 设置一个定时器。 这里设置1.5秒后, 把当前的弹出框置空。 (promptAlert =NULL;)
另外需要注意: 在NSTimer的函数里,userInfo不能为空,否则[ the Timer userInfo ]取不出alertView 或者你把alertView设成全局的也行,这样userinfo可以为nil,在NSTimer的触发函数里直接让全局的alertView消失