【问题标题】:fill UIWebVIew TextInput with custom keyboard用自定义键盘填充 UIWebVIew TextInput
【发布时间】:2010-05-01 09:52:28
【问题描述】:

对于我正在开发的应用程序,我希望在您点击 UIWebview 中的输入字段时出现自定义键盘,例如对于 UITextView,我使用以下代码:

 myText.text = [myText.text stringByAppendingString:@"a"];

但我不知道如何在 UIWebVIew 中填写文本字段 任何帮助将不胜感激;谢谢!

【问题讨论】:

  • 您想以编程方式或使用用户输入来填充文本字段?

标签: iphone uiwebview


【解决方案1】:

我认为不可能在UIWebView 中的文本字段中使用自定义键盘。

【讨论】:

  • 那么他做了什么?:他使用自定义键盘itunes.apple.com/us/app/arabic-browser-for-ipad/…
  • 因为他所做的是使用自定义键盘作为 URL 地址栏,这只是 Cocoa Touch 可以与之对话的UITextView。但据我所知,不可能劫持UIWebView中的文本字段的键盘...
  • 如果我的回答已经回答了你的问题,如果你通过勾选它接受它,我会很高兴;)
  • 这篇文章怎么样?回答者建议使用 UITextField 作为“媒体”。 stackoverflow.com/questions/19961369/…
【解决方案2】:

与 UIWebView 有双向通信,但有点复杂。

您可以使用stringByEvaluatingJavaScriptFromString 在网页上下文中执行任何javascript。这可用于向网页发送数据、修改表单或轮询数据和事件。

您可以使用webView:shouldStartLoadWithRequest:navigationType: 接收来自网络视图的通知。定义一个像myapp: 这样的自定义方案并处理所有从 shouldStart 返回 NO 的请求。您可以使用 ajax 样式调用来触发通知,尽管实际的 ajax 调用总是会失败,因为您返回的是 NO。

如果您想显示自定义键盘,则必须通过自定义方案向主机应用程序发送通知,在 Web 视图上显示 UITextView,然后通过 javascript 将结果发送回。

至少,这是记录在案的方法。

【讨论】:

  • 只有在您尝试填写网页时才需要这样做。我的印象是 OP 想要使用 UIWebView 作为“更好的” UITextView - 在这种情况下,您可以使用 loadHTMLString:.
  • 谢谢你,但我认为这对我来说很复杂!:)
【解决方案3】:

查看本文Custom Keyboard in UIWebViewdcorbatta的答案

当您检测到 UIWebView 中出现键盘时,他建议使用 UITextField 作为“媒体”。因此,您可以在 UITextField 上使用您想要的任何键盘类型。用户点击某物后,通过 JavaScript ActiveDocument 将 UITextField 中的文本复制到媒体中。

【讨论】:

    【解决方案4】:

    我花了太多时间调查。

    使用 JavaScript 或 jQuery 模糊文本输入。 像任何 UIjquery 插件一样在屏幕键盘上使用

    现在你必须看看这个漂亮的键盘,并学习如何将它集成到你的网页中。

    http://net.tutsplus.com/tutorials/javascript-ajax/creating-a-keyboard-with-css-and-jquery/

    一个限制。 它仅适用于您的页面,除非您在页面加载完成时劫持页面并附加您的键盘并在所有文本输入突出显示或聚焦时模糊所有文本输入。

    【讨论】:

      猜你喜欢
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      • 1970-01-01
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多