人:
我的viewController中有两个按钮,我称之为“NO”,
另一个是“是”。这两个按钮将调用两个不同的功能,当
时用户按下其中一个按钮,我想向用户显示一个警告以确认。
我知道使用UIAlertViewDelegate
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
但有两个按钮,我很困惑。我怎么知道按下了哪个按钮。
所以,请帮助我,提前谢谢你!
答案 0 :(得分:17)
创建UIAlertView
时,您可以为其设置tag
-(IBAction)yesButtonClick:(id)sender{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle: @"Cancel" otherButtonTitles:@"OK", nil];
alert.tag = 101;
[alert show];
}
-(IBAction)noButtonClick:(id)sender{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle: @"Cancel" otherButtonTitles:@"OK", nil];
alert.tag = 102;
[alert show];
}
在委托方法中检查正在显示哪个警报
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (alertView.tag == 101) {
// from YES button
}
else if (alertView.tag == 102) {
// from NO button
}
}
答案 1 :(得分:0)
- (void)alertView:(UIAlertView *)actionSheet
clickedButtonAtIndex:(NSInteger)buttonIndex{
switch(buttonIndex){
case 0:
//YES button handler
break;
case 1:
//NO button handler
break;
default:
break;
}
}
答案 2 :(得分:0)
您可以使用tag属性来区分您的UIAlertView
在按钮1的功能中
alertView1.tag=1;
并在
-(void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(actionSheet.tag==1){
//first button was clicked
}
}