我的UIWebView加载了一个可编辑的HTML内容。我希望让UIWebView获得焦点并在其中显示键盘。
我使用了[self.webview becomeFirstResponder]
,但它不起作用。有没有其他方法可以解决这个问题?
谢谢。
我的UIWebView加载了一个可编辑的HTML内容。我希望让UIWebView获得焦点并在其中显示键盘。
我使用了[self.webview becomeFirstResponder]
,但它不起作用。有没有其他方法可以解决这个问题?
谢谢。
iOS 6 现在可以实现此功能。请参见 UIWebView 中的 boolean keyboardDisplayRequiresUserAction。一旦设置为 NO,您就可以使用 focus() 来设置光标。
self.webView.keyboardDisplayRequiresUserAction = NO; // put in viewDidLoad
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[self.webView
stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].focus()"];
return YES;
}
您可以使用 document.getElementById('someId').focus() 作为替代方法。我将 textField 设置为委托,并使用委托方法 textFieldShouldReturn,该方法在按下回车键时触发。
需要在窗口对象中设置“启动时可见”复选框 - 键盘将自动显示在输入字段上
UIWebView不可编辑,也无法使其成为第一个响应者。 但是您可以使用JavaScript来实现此目的,请尝试以下答案
{{link1:具有contentEditable(HTML编辑)和第一个响应者处理的UIWebView?}}