有多个警报视图时按下检测按钮

Jac*_*ies 27 iphone uialertview ipad ios

我在一个视图中有多个警报视图,我使用此代码来检测按下了哪个按钮:

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {  

    NSString *title = [alertView buttonTitleAtIndex:buttonIndex];  

    if ([title isEqualToString:@"OK"]) {

          //for one alert view
          [passCode becomeFirstResponder];

     } else if ([title isEqualToString:@" OK "]) {

        //for another alert view, had to change "OK" to " OK "
        [passCodeConfirm becomeFirstResponder];

    }
}   
Run Code Online (Sandbox Code Playgroud)

现在,由于在一个视图中有多个警报视图可以执行不同的操作,因此我必须诱使用户认为"OK"和"OK"是相同的.它工作和看起来很好,但它感觉有点混乱.当然还有另一种方法可以做到这一点,例如将其特定于警报视图,然后使其特定于另一个.你知道我会怎么做吗?谢谢!

all*_*Nit 55

为单独的UIAlertView 设置唯一标记并在其委托方法中识别和访问将更具技术性和更好性.

例如,

    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Message" message:@"Are You Sure you want to Update?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok",nil];
    [alert setTag:1];
    [alert show];
    [alert release];

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex  
    {
        if(alertView.tag == 1)
        {
            // set your logic
        }
    }
Run Code Online (Sandbox Code Playgroud)