Ios 立即编辑可编辑的UIWebView
我正在使用标准机制来启用可编辑的Ios 立即编辑可编辑的UIWebView,ios,objective-c,swift,uiwebview,Ios,Objective C,Swift,Uiwebview,我正在使用标准机制来启用可编辑的UIWebView(div标记中的contenteditable属性) 一切都很好-当我加载视图时,UIWebView加载,当我单击时,我进入编辑模式 但是,我想做的是,当我的视图加载时,立即进入编辑模式,并使光标从div的开头开始 有人知道怎么做吗?我尝试使用stringByEvaluatingJavaScriptFromString在HTML中调用一个JS方法,该方法在上执行.focus(),但不起作用。我假设这与Safari中禁用编程启动键盘有关。默认情况下
UIWebView
(div
标记中的contenteditable
属性)
一切都很好-当我加载视图时,UIWebView
加载,当我单击时,我进入编辑模式
但是,我想做的是,当我的视图加载时,立即进入编辑模式,并使光标从div
的开头开始
有人知道怎么做吗?我尝试使用
stringByEvaluatingJavaScriptFromString
在HTML中调用一个JS方法,该方法在
上执行.focus()
,但不起作用。我假设这与Safari中禁用编程启动键盘有关。默认情况下,UIWebView不允许以编程方式启动键盘。但是,您可以在创建UIWebView时从Swift端启用此功能。只需将keyboarddisplayrequiresseraction
设置为false
有关更多信息,请参阅
注意:我没有对此进行测试,
contenteditable
可能还有其他问题,但这是开发移动web应用程序时的常见问题 多亏了蒂姆的提示,我终于想出了如何使这项工作成功。我必须做到以下几点:
首先,正如Temmu提到的,我必须在我的viewDidLoad
中将keyboarddisplayrequiresseraction
设置为false
其次,假设我的可编辑内容位于..
中,我在div
之后注入了以下Javascript:
<script>document.getElementById('content').focus();</script>
document.getElementById('content').focus();
有了这两样东西,当我的视图加载时,
UIWebView
立即将焦点放在div
中,键盘弹出。谢谢!这是其中的一个重要部分。我会记下你的答案,然后填写一个更完整的答案。谢谢!这连续一周困扰着我。想想这一切都是因为一个简单的愚蠢的属性,相关的答案都没有涉及到。