好吧所以我这里有一个小问题,我在这里有这个。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0)
{
//YES clicked ...do your action
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
else if (buttonIndex == 1)
{
//NO clicked
return;
}
}
这允许我捕获从UIAlertView按钮触发的事件,但我已经为它分配了一个值,并且在同一页面上我需要另一个值分配给该类,所以:
if(buttonIndex == 2){//Proceed}
我主要想要它,以便当我按下第二个警告按钮时,它将返回到它正在进行的过程,而不是继续事件(buttonIndex == 0)。
所以有谁知道我可以从哪里开始?
答案 0 :(得分:1)
只需在2 .h
的{{1}}文件中存储引用,然后进行检查。例如,在UIAlertView
文件中:
UIAlertView * alertView1; UIAlertView * alertView2;
在您的.h
文件中,使用.m
方法设置UIAlertView
,然后将viewDidLoad
方法更改为:
alertView:clickedButtonAtIndex:
希望有帮助!
答案 1 :(得分:1)
您可以执行的其他操作是使用alertView标记,以防您的应用中有多个alertview。例如,你可以这样做:
UIAlertView *alert1 = [[UIAlertView alloc] initWithTitle:@"Title" message:@"AThe message." delegate:self cancelButtonTitle:@"button 1" otherButtonTitles: @"button 2", nil];
alert1.tag = 0;
[alert1 show];
[alert1 release];
然后在您的委托方法中,只需输入以下if子句:
if (alertView == alertView1)
在上面的代码之前。
答案 2 :(得分:0)
如果你没有想到这一点,你可以在程序中放置一个计数器来计算触发警报视图的次数,然后根据该值进行操作。