如何让UIAlertView自动消失?

时间:2014-03-23 18:55:56

标签: ios uialertview

我想这样做,当你按下一个按钮时,警告会弹出一两秒,然后自行消失。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:4)

接受的答案似乎有点危险。从文档(强调我的)

  

标识要调用的方法的选择器。该方法不应具有显着的返回值,并且应采用 id 类型的单个参数,或者不带参数。

这个选择器有两个参数,参数是一个原语而不是id。所以这似乎是巧合......

一种更安全的方式,我认为在正常方式调用方法时会更好,但只需使用gcd进行调度:

__weak __typeof(alertView) weakAlertView = alertView;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  [weakAlertView dismissWithClickedButtonIndex:0 animated:YES];
});

答案 1 :(得分:2)

请在显示提醒视图的行后尝试使用此功能:

[alertView performSelector:@selector(dismissWithClickedButtonIndex:animated:) withObject:[NSNumber numberWithInt:0] afterDelay:2];