UIAlertView在iOS 8中没有弹出键盘的文本字段

时间:2014-09-05 19:46:10

标签: ios uialertview ios8

我有一个带有文本字段的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内部还有一个文本字段闪烁指示器,这是有问题的,因为在用户点击文本字段本身之前,没有实际的键盘会自动弹出。

2 个答案:

答案 0 :(得分:4)

我必须在iOS模拟器硬件 - > 键盘菜单选项中取消选择“连接硬件键盘”才能在iOS 8中运行。

答案 1 :(得分:0)

如果您在[alert show]之后添加此行,则会弹出键盘。

[alertTextField becomeFirstResponder];

希望这有帮助