繁体   English   中英

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

[英]Programmatically display keyboard in UIWebView

如果UIWebView中的元素具有样式属性-webkit-user-modify:read-write,则在该元素上按下将导致键盘出现。 是否可以以编程方式启动键盘?

谢谢

看起来在iOS6中,现在您可以使用“ keyboardDisplayRequiresUserAction ”执行此操作:

keyboardDisplayRequiresUserAction一个布尔值,指示Web内容是否可以以编程方式显示键盘。

@property(非原子)BOOL keyboardDisplayRequiresUserAction讨论当此属性设置为YES时,用户必须在Web视图中明确点按元素以显示该元素的键盘(或其他相关的输入视图)。 当设置为NO时,元素上的焦点事件将导致显示输入视图并自动与该元素相关联。

此属性的默认值为YES。

可用性在iOS 6.0和更高版本中可用。 在UIWebView.h中声明

参考:

iOS开发人员库

因为当视图成为第一响应者时会自动显示键盘,所以您通常不需要执行任何操作即可显示它。 但是,您可以通过调用可编辑文本视图的beginFirstResponder方法来以编程方式显示该键盘。 调用此方法会使目标视图成为第一响应者,并开始编辑过程,就像用户在视图上轻按一样。

我怀疑只要没有具有所需样式的HTML元素都具有焦点,调用[webView becomeFirstResponder]就会启动键盘。 因此,您真正的问题可能是通过编程将HTML文档中的焦点设置为一个元素。 我会尝试通过Javascript做到这一点。 这样的事情可能会起作用:

NSString *jscode = @"document.getElementById('whatever').focus();";
[self.webView stringByEvaluatingJavaScriptFromString:jscode];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM