如果UIWebView中的元素具有样式属性-webkit-user-modify:read-write,则按下该元素会导致键盘出现。是否可以以编程方式调出键盘?
由于
答案 0 :(得分:6)
在iOS6中,您现在可以使用“ keyboardDisplayRequiresUserAction ”执行此操作:
keyboardDisplayRequiresUserAction 一个布尔值,指示Web内容是否可以以编程方式显示键盘。
@property(非原子)BOOL keyboardDisplayRequiresUserAction 讨论 当此属性设置为YES时,用户必须显式点击Web视图中的元素以显示该元素的键盘(或其他相关输入视图)。设置为NO时,元素上的焦点事件会导致输入视图自动显示并与该元素关联。
此属性的默认值为YES。
状况 适用于iOS 6.0及更高版本。 宣告进入 UIWebView.h
参考:
答案 1 :(得分:3)
由于当视图成为第一响应者时键盘会自动显示,因此您通常无需执行任何操作来显示它。但是,您可以通过调用该视图的becomeFirstResponder方法以编程方式显示可编辑文本视图的键盘。调用此方法会使目标视图成为第一个响应者,并开始编辑过程,就像用户点击视图一样。
我怀疑只要没有具有所需样式的HTML元素具有焦点,调用[webView becomeFirstResponder]
就会调出键盘。因此,您真正的问题可能是以HTML编程方式将HTML文档中的焦点设置为元素。我会尝试通过Javascript来做到这一点。这样的事情可能有用:
NSString *jscode = @"document.getElementById('whatever').focus();";
[self.webView stringByEvaluatingJavaScriptFromString:jscode];