-1

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

我能否以某种方式访问​​ UITextField,以便实现 UITextFieldDelegate 方法 textFieldShouldReturn?还是有其他方法可以做到这一点?

4

2 回答 2

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;
}
于 2013-05-24T01:55:44.267 回答
-1

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

于 2013-04-18T15:55:20.063 回答