以编程方式解雇UIAlertView

Nic*_*k P 13 iphone objective-c uialertview

我需要帮助以编程方式解雇UIAlertView.目前我有这个

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

然后我打电话给这个

[alert1 dismissWithClickedButtonIndex:0 animated:NO];
Run Code Online (Sandbox Code Playgroud)

但没有任何反应.

Aru*_*run 35

你需要设置两件事.

1.包含你的.h文件: <UIAlertViewDelegate>

2.请按照以下实施方式......

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

解雇方法将是......

-(void)dismiss:(UIAlertView*)alert
{
    [alert dismissWithClickedButtonIndex:0 animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

我希望这能帮到您.


Eug*_*nio 5

我也遇到过这个问题.在我的情况下,由于某种原因呼吁:

[alert dismissWithClickedButtonIndex:0 animated:NO];
Run Code Online (Sandbox Code Playgroud)

总是没有工作(是的,甚至在UI线程上调用它,是的,警告!= nil),而只是将动画标志设置为YES它工作:

[alert dismissWithClickedButtonIndex:0 animated:YES];
Run Code Online (Sandbox Code Playgroud)

也许这是一个苹果虫......