我有一个带有文本字段的UIAlertView(UIAlertViewStylePlainTextInput),可以在iOS 7中自动弹出键盘。但是,当我升级到iOS 8时,键盘没有自动弹出,而是我必须点击文本字段让键盘弹出。无论如何我在调用时将自动键盘弹出恢复到UIAlertView文本域吗?
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"" message:@"The amount?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil];
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField * alertTextField = [alert textFieldAtIndex:0];
alertTextField.keyboardType = UIKeyboardTypeNumberPad;
[alertTextField setTextAlignment:NSTextAlignmentCenter];
[alert show];
[alert release];
更新: [alertTextField becomeFirstResponder];
不起作用
[[alert textFieldAtIndex:0] setDelegate:self];
[[alert textFieldAtIndex:0] becomeFirstResponder];
此外,textview内部还有一个文本字段闪烁指示器,这是有问题的,因为在用户点击文本字段本身之前,没有实际的键盘会自动弹出。
答案 0 :(得分:4)
我必须在iOS模拟器硬件 - > 键盘菜单选项中取消选择“连接硬件键盘”才能在iOS 8中运行。
答案 1 :(得分:0)
如果您在[alert show]
之后添加此行,则会弹出键盘。
[alertTextField becomeFirstResponder];
希望这有帮助