我有一个UIAlertView,里面有一个文本字段(UIAlertViewStyleLainTextInput),它会在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];
此外,文本视图中有一个文本字段闪烁的指示器,这是有问题的,因为在用户点击文本字段之前,没有真正的键盘会自动弹出。
我不得不在iOS模拟器硬件->键盘菜单选项中取消选择"连接硬件键盘",以便在iOS 8中运行。
如果在[alert show]
之后添加此行,则会弹出键盘。
[alertTextField becomeFirstResponder];
希望这能帮助