Я вызывал UIAlertView dismissWithClickedButtonIndex: animated: метод из метода делегата UITextField, потому что я также хотел обработать клавишу возврата клавиатуры:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if (textField.tag == 1001) {
[textField resignFirstResponder];
[_alert dismissWithClickedButtonIndex:1 animated:YES];
}
return YES;
}
Таким образом, метод alertView: clickedButtonAtIndex: никогда не вызывается, даже если вы настроили правильный делегат. Вместо этого alertView: didDismissWithButtonIndex: действительно вызывается. Поэтому вместо этого реализуйте этот метод:
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
// your code here
}
Если вы просто хотите обрабатывать только кнопки представления предупреждений, те сначала вызывают clickedButtonAtIndex, а затем didDismissWithButtonIndex.