UIAlertView:UIAlertViewStyleSecureTextInput:数字键盘

Posted

技术标签:

【中文标题】UIAlertView:UIAlertViewStyleSecureTextInput:数字键盘【英文标题】:UIAlertView: UIAlertViewStyleSecureTextInput: Numeric keyboard 【发布时间】:2012-05-14 08:15:05 【问题描述】:

我目前正在使用这个 UIAlertView 来做一个登录弹出窗口,

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Restricted"
                                                message:@"Please Enter Code to Enable Fields" 
                                               delegate:self
                                      cancelButtonTitle:@"Cancel"
                                      otherButtonTitles:@"Login"
                      , nil];
alert.alertViewStyle = UIAlertViewStyleSecureTextInput;

[alert show];

但是我希望文本输入是数字键盘而不是常规键盘

有没有一种简单的方法可以做到这一点,或者我必须考虑创建一个自定义 UIAleartView

【问题讨论】:

【参考方案1】:

你可以试试这个来改变UIAlertView字段的键盘类型:

[[alert textFieldAtIndex:0] setDelegate:self];
[[alert textFieldAtIndex:0] setKeyboardType:UIKeyboardTypeNumberPad];
[[alert textFieldAtIndex:0] becomeFirstResponder];

【讨论】:

添加到您的 *.h 文件中【参考方案2】:

很酷的答案,但对于 ios 7 我有一点适应

alert.alertViewStyle = UIAlertViewStylePlainTextInput;
[alert show];
[[alert textFieldAtIndex:0] setDelegate:self];
[[alert textFieldAtIndex:0] resignFirstResponder];
[[alert textFieldAtIndex:0] setKeyboardType:UIKeyboardTypePhonePad];
[[alert textFieldAtIndex:0] becomeFirstResponder];

【讨论】:

在致电[alert show]; 之前更改键盘应该可以减少辞职并成为第一响应者的需要。【参考方案3】:
 UIAlertView *alertView1 = [[UIAlertView alloc] initWithTitle:@"Enter File Number" message:@"" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil];
        alertView1.alertViewStyle = UIKeyboardTypePhonePad;
        myTextField = [alertView1 textFieldAtIndex:0];
        myTextField.keyboardType=UIKeyboardTypeNumberPad;
        [alertView1 setTag:3];
        [alertView1 show];

【讨论】:

以上是关于UIAlertView:UIAlertViewStyleSecureTextInput:数字键盘的主要内容,如果未能解决你的问题,请参考以下文章

应用访问地图服务时系统弹出UIAlertView,可以更改UIAlertView的消息吗?

从 UIAlertView 到 UIAlertController

IOS开发之UIAlertView与UIAlertController的详尽用法说明

UIAlertView + TextField = 错误?

UIAlertView:UIAlertViewStyleSecureTextInput:数字键盘

是否可以使用标签访问 UIAlertView?