2010-05-01 23 views
1

对于应用我的工作我想自定义键盘上来时,你点击在一个UIWebView输入字段,例如用于UITextView的我用这个代码:填写的UIWebView的TextInput自定义键盘

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

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

+0

你想填充文本字段programmaticaly或使用用户输入? – coder 2013-02-04 07:47:15

回答

0

检查dcorbatta的这篇文章Custom Keyboard in UIWebView

在回答他建议使用的UITextField作为“媒体”,当你发现键盘来了一个UIWebView里面。因此,您可以在UITextField上使用任何想要的键盘类型。用户点击某些内容后,通过JavaScript ActiveDocument将文本复制到UITextField中。

1

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

+0

所以他做了什么?: 他使用自定义键盘 http://itunes.apple.com/us/app/arabic-browser-for-ipad/id367397633?mt=8 – 2010-05-01 09:58:28

+0

因为他所做的是使用URL地址栏的自定义键盘,这只是Cocoa Touch可以与之交谈的“UITextView”。但据我所知,这是不可能劫持键盘的'UIWebView'内的文本字段...... – 2010-05-01 10:05:22

+0

谢谢!是的,你的权利 – 2010-05-01 11:39:31

1

有一个与UIWebView的双向通信,但它是一个有点令人费解。

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

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

如果你想有一个自定义键盘显示出来,你必须通过你的自定义方案发送到主机应用程序的通知,显示在Web视图一个UITextView,然后通过JavaScript将结果发送回。

至少,这是记录在案的方式来做到这一点。

+0

这只是如果你想填写一个网页是必要的。我感觉OP希望使用UIWebView作为“更好”的UITextView--在这种情况下,您可以使用loadHTMLString:来提供它。 – 2010-05-01 10:42:37

+1

thnak你,但我认为这对我来说很复杂!:) – 2010-05-01 11:39:56

0

我花了太多的时间来调查。

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

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

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

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