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];
【讨论】:
将很酷的答案,但对于 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的详尽用法说明