我正在使用标准机制来启用可编辑的UIWebView ( div标记中的contenteditable属性)。
一切都很好--当我加载我的视图时,UIWebView加载,当我单击时,我进入编辑模式。
但是,我想要做的是,当我的视图加载时,立即进入编辑模式,并让光标从div的开头开始。
有人知道怎么做吗?我尝试使用stringByEvaluatingJavaScriptFromString调用HTML中的JS方法,该方法在<div>上执行.focus(),但它不起作用。
发布于 2015-02-28 12:28:39
我假设在Safari中以编程方式启动键盘是相关的。默认情况下,UIWebView不允许以编程方式启动键盘。但是,在创建UIWebView时,可以从Swift方面启用此功能。只需将keyboardDisplayRequiresUserAction设置为false即可。
有关更多信息,请参见苹果的文档
注意:我没有测试这个,contenteditable也可能有其他问题,但这是开发移动web应用程序时常见的问题。
发布于 2015-02-28 18:57:18
多亏了Teemu的暗示,我终于想出了如何做这件事。我必须做以下几点:
首先,正如Temmu提到的,我必须在我的keyboardDisplayRequiresUserAction中将false设置为false。
第二,假设我的可编辑内容在<div id="content">...</div>中,我在 div之后注入了以下Javascript div
<script>document.getElementById('content').focus();</script>在这两种情况下,当我的视图加载时,UIWebView立即将焦点放在div中,键盘弹出。
https://stackoverflow.com/questions/28779633
复制相似问题