以编程方式在可用UIWebView中显示键盘

我的UIWebView加载一个contenteditable html内容。 我想让UIWebView得到专注,并在UIWebView中显示键盘。

我使用[self.webview becomeFirstResponder] ,但它不起作用。 有什么方法可以解决吗?

谢谢。

UIwebview不可编辑,您不能使其成为第一响应者。 在那里你可以使用JavaScripts来达到这个目的,试试这个答案

UIWebView与contentEditable(HTML编辑),第一响应处理?

这现在可以在iOS 6中使用。请参阅UIWebView中的布尔keyboardDisplayRequiresUserAction。 一旦设置为NO,则可以使用focus()设置光标。

在iOS 6中,您需要1)将您的webview设置为keyboardDisplayRequiresUserAction = NO,以及2)调用焦点。 代码如下:

 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当按下返回键时触发。

需要在窗口对象中设置“启动时可见”checkbox – 键盘将在input字段中自动显示