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; }