我正在使用标准机制启用可编辑的UIWebView
(contenteditable
标记中的div
属性。
一切都很棒 - 当我加载视图时,UIWebView
加载,当我点击时,我进入编辑模式。
但是,我想要做的是当我的视图加载时,立即进入编辑模式并让光标从div
的开头开始。
有谁知道怎么做?我尝试使用stringByEvaluatingJavaScriptFromString
在我的HTML中调用JS方法,在.focus()
上执行<div>
,但它不起作用。
答案 0 :(得分:2)
由于Teemu的暗示,我终于想出了如何做这项工作。我必须做以下事情:
首先,正如Temmu所说,我必须在keyboardDisplayRequiresUserAction
中将false
设为viewDidLoad
。
其次,假设我的可修改内容位于<div id="content">...</div>
,我在div
之后注入了以下Javascript :
<script>document.getElementById('content').focus();</script>
有了这两件事,当我加载视图时,UIWebView
会立即将焦点放在div
并弹出键盘。
答案 1 :(得分:0)
我认为在Safari中禁用以编程方式启动键盘是相关的。默认情况下,UIWebView不允许以编程方式启动键盘。但是,您可以在创建UIWebView时从Swift端启用此功能。只需将keyboardDisplayRequiresUserAction
设置为false
。
有关详细信息,请参阅Apple's documentation
注意:我没有对此进行测试,contenteditable
也可能存在其他问题,但这是开发移动网络应用时常见的问题。