2015-10-04 113 views
1
-(bool)textFieldShouldClear:(UITextField *)textField { 

    UIAlertController * blert = [UIAlertController alertControllerWithTitle:@"your alert" message:@"are you sure you want to clear" preferredStyle:UIAlertControllerStyleAlert]; 

    UIAlertAction * defautact = [UIAlertAction actionWithTitle:@"ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action){}]; 

    UIAlertAction * defautact1 = [UIAlertAction actionWithTitle:@"cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action){}]; 

    [blert addAction:defautact]; 
    [blert addAction: defautact1]; 
    [self presentViewController:blert animated:YES completion:nil]; 
} 

我想,如果我按下按鈕ok那麼對於-(bool)textFieldShouldClear:(UITextField *)textField的返回值來使用這個-(bool)textFieldShouldClear:(UITextField *)textField我創建一個警報,幷包括兩個按鈕okcancel等等必須YES 所以如果我按下按鈕cancel那麼對於-(bool)textFieldShouldClear:(UITextField *)textField的返回值必須是NO如何指定處理程序的返回類型

能否請你告訴我如何做到這一點的處理程序

+0

爲什麼你不使用每個UIAlertAction中的處理程序? – Lorenzo

回答

0

您可以使用每個UIAlertControl的處理程序將全局NSString設置爲Yes或No,然後您可以在「self presentViewController」之後對其進行評估。處理程序是一個指令塊。

 UIAlertAction *YesAction = [UIAlertAction 
             actionWithTitle:@"Yes" 
             style:UIAlertActionStyleDefault 
             handler:^(UIAlertAction *action) 
             { 
              NSLog(@"Tap on Yes"); 

              //Here you can set a global variable (reply for example) or make any action 
              reply = @"yes"; 
             }]; 
+0

處理程序中存在的代碼塊沒有執行 – teamiOS

+0

您是否看到NSLog的字符串?沒有? – Lorenzo

+1

你好,我只是想出了什麼問題 但我無法修復它 – teamiOS

相關問題