iphone - UIAlertViewStylePlainTextInput 返回键委托(delegate)

标签 iphone ios xcode ios5

我正在为 UIAlertView 使用 iOS 5 的一项新功能。我像这样创建一个 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];

我现在使用的委托(delegate)是:

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

现在我想模拟回车键,所以当用户按下键盘上的回车键时,按下警报的 OK 按钮时会发生同样的事情。我该怎么做?

提前致谢!

最佳答案

确保您的类(class)符合 <UITextFieldDelegate>协议(protocol),使 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];

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

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

关于iphone - UIAlertViewStylePlainTextInput 返回键委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8994368/

相关文章:

iphone - 游戏开发从哪里开始? UIKit vs Core Animation vs QuartzCore vs OpenGL vs cocos2D

iphone - 如何检查文件是目录、音频、视频还是图像?

ios - 在 iOS 应用程序中导入 MP3(使用代码)

ios - 在 TableView 上检测滑动手势

c++ - 为什么必须在父类(super class)中实现虚函数?

iphone - 应用程序因使用非公共(public)(私有(private))api 而被拒绝?

ios - 存储值类型与指针操作数类型不匹配! - 存储 i64、swift.bridge、dictionaryUpCasts

ios - 如何对具有不同图像(图标)的点进行聚类? map 盒

ios - 简单的 SwiftUI 代码产生 : UIViewAlertForUnsatisfiableConstraints. 为什么?

iphone - 定期吊销证书的任何问题