如何在 `UIWebView` 控件中使用`UIKeyInput` 协议?

Posted

技术标签:

【中文标题】如何在 `UIWebView` 控件中使用`UIKeyInput` 协议?【英文标题】:How to use `UIKeyInput` protocol with `UIWebView` control? 【发布时间】:2013-09-24 18:41:36 【问题描述】:

如何使用UIKeyInput协议和UIWebView控件?

(我正在尝试解决退格问题:它可以在外部键盘上使用,但在 ios 键盘上无法使用超过 1 个删除的字符,并且在两个键盘上都输入了一个字符后才可以使用。)

【问题讨论】:

【参考方案1】:

UIWebView 的问题在于它是UIWebDocumentView 的一个非常受限的容器视图,这是一个私有类,您实际上需要将其子类化以实现您所需要的。嗯,这是可能的,但这是非常灰色的区域。我们的应用程序通过这种“特殊”视图发挥了一些作用,并且它在应用商店中。

您唯一的解决方案是用您自己的类动态更改此UIWebDocumentView 实例的子类,该类将动态成为UIWebDocumentView 类的子类。在您自己的此类中,您将能够实现协议方法。

如果这让您感到害怕,那么您绝对不应该尝试。如果你喜欢冒险,它并不像听起来那么糟糕(一点 Objective C 运行时魔法)。如果您需要帮助,请告诉我。

【讨论】:

以上是关于如何在 `UIWebView` 控件中使用`UIKeyInput` 协议?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Safari 应用程序在 UIWebView 中启动链接?

使用情节提要时如何使用摇动手势?

Syncfusion 控件未在 iOS 本机 UIWebView 上加载

如何在 UIWebView 视频播放器中添加 OverLay View?

UI控件(UIWebView)

IOS UIWebView(浏览器控件)