在 clickedButtonAtIndex 中显示警报? [英] Show Alert in clickedButtonAtIndex?

查看:19
本文介绍了在 clickedButtonAtIndex 中显示警报?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我需要在用户按下 buttonIndex 1 后显示确认警报,但是......如果我在 clickedButtonAtIndex 中使用 popViewcontroller 它会崩溃而没有错误.


i need to show a confirm alert after the user press buttonIndex 1 but... if i use popViewcontroller in clickedButtonAtIndex it crash without errors.

问题是

[self.navigationController popViewControllerAnimated:YES];

在第二次警报点击之前调用...

is called before second Alert click...

如何解决?

这是我的代码:

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 1) {
        UIAlertView *alert = 
            [[UIAlertView alloc] initWithTitle:@"OK!"
                                    message:@"Completed"
                                    delegate:self 
                    cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            [alert show]; 
            [alert release];

            [self.navigationController popViewControllerAnimated:YES];
    }
}

推荐答案

将两个UIAlertView的标签属性分别设置为1和2.然后,在委托方法中,使用 if 语句检查 UIAlertView 参数的标记.

Set the tag properties of the two UIAlertViews to 1 and 2, respectively. Then, in the delegate method, use if statements to check the tag of the UIAlertView argument.

例子:

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (alertView.tag == 1)
    {
        //check the button index
        //create and display the other alert view (set the tag property here to 2)
    }
    else if (alertView.tag == 2)
    {
        //pop the view controller
    }
}

这篇关于在 clickedButtonAtIndex 中显示警报?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆