2013-04-18 64 views
-1

在我的iOS应用程序中,我有一个带有文本字段的UIWebView。我想回应正在点击的返回键。我怎么做?如何处理iOS网页视图本机键盘上的返回键?

我可以以某种方式获得进入的UITextField这样我就可以实现UITextFieldDelegate方法textFieldShouldReturn?或者有其他方法可以实现这一目标吗?

回答

2

您需要为此做一些JavaScript技巧。

在HTML文件中,绑定一个keyup事件回调的文本输入控件,(我最后一次检查,莫名其妙的UIWebView没有为返回键触发按键事件,所以keyup事件是您的最佳选择)

在这个回调中,让web视图获得一个自定义的URL方案。 e.g如下:

var input = document.getElementById('textInput'); 
input.onkeyup = function(){window.location = 'callback://keyup'}; 

然后你就可以在你处理这个URL方案的UIWebView的委托

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if ([request.URL.scheme isEqualToString:@"callback"]) { 
     // Do what you want 

     return NO; 
    } 

    return YES; 
} 
+0

谢谢,这基本上是我决定的策略。 – Silromen

-1

uiwebview无法使用uitextfieldDelegate。尝试读取文件苹果

+0

感谢响应。我意识到我不能使用UITextFieldDelegate,这就是为什么我在这里问这个问题:当从webview嵌入文本字段触发键盘时,如何获得UITextFieldDelegate类的返回键响应能力。 – Silromen