如何在iOS Web视图本机键盘上处理返回键?

时间:2013-04-18 14:42:07

标签: ios html5 input uiwebview

在我的iOS应用中,我有一个带文本字段的UIWebView。我想回复被点击的Return键。我该怎么做?

我可以以某种方式访问​​UITextField,以便我可以实现UITextFieldDelegate方法textFieldShouldReturn吗?或者还有其他方法可以实现这一目标吗?

2 个答案:

答案 0 :(得分:2)

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

在你的HTML文档中,为你的文本输入控件绑定一个keyup事件回调,(上次我检查时,UIWebView不会为返回键触发keypress事件,所以keyup事件是你最好的选择)

在此回调中,让Web视图转到自定义URL方案。例如:

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

然后,您可以在UIWebView的委托

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

        return NO;
    }

    return YES;
}

答案 1 :(得分:-1)

uiwebview不能uitextfieldDelegate。尝试阅读Apple文档