UIAlertViewStylePlainTextInput返回键代理

我正在使用UIAlertView的新iOS 5function之一。 我创build一个像这样的UIAlertView:

UIAlertView *scanCode = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Some Title", @"") message:nil delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:NSLocalizedString(@"OK", @""), nil]; [scanCode setAlertViewStyle:UIAlertViewStylePlainTextInput]; scanCode.tag = 1234; [scanCode show]; [scanCode release]; 

我现在使用的代表是:

 -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { if (alertView.tag == 1234) { if (buttonIndex == 1) { //do something } } } } 

现在我想模拟回车键,所以当用户点击返回键盘时,同样的事情发生时,按下警报的确定button。 我怎样才能做到这一点?

提前致谢!

确保你的类符合<UITextFieldDelegate>协议,使UIAlertView属性为你的类,并添加以下行到您的设置代码…

 self.scanCode = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Some Title", @"") message:nil delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:NSLocalizedString(@"OK", @""), nil]; [self.scanCode setAlertViewStyle:UIAlertViewStylePlainTextInput]; self.scanCode.tag = 1234; //add this... [[self.scanCode textFieldAtIndex:0] setDelegate:self]; [self.scanCode show]; 

通过成为input文本字段的代表,您可以了解何时按下键盘上的返回键。 然后在你的类的.m文件中实现下面的委托方法,并告诉该提示消失:

 -(BOOL)textFieldShouldReturn:(UITextField *)textField{ [self.scanCode dismissWithClickedButtonIndex:self.scanCode.firstOtherButtonIndex animated:YES]; return YES; }