Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIWebView,自定义";return";钥匙_Ios - Fatal编程技术网

Ios UIWebView,自定义";return";钥匙

Ios UIWebView,自定义";return";钥匙,ios,Ios,我想自定义UIWebView键盘上的“return”键。通常,您可以通过设置UITextField的returnKey属性来实现这一点,但由于应用程序是HTML格式的,因此没有UITextFields,只有textareas 目前,我的工作是将替换按钮隐藏在右下角,并用键盘向上设置动画,使其位于返回键的顶部。实际上,它看起来很不错,但我担心我的代码在未来的iOS版本中可能无法工作 有没有更好的办法?我知道在iOS4中有一种访问ui键盘的方法,但是iOS5删除了它。要查看是否触摸了返回键,我将on

我想自定义UIWebView键盘上的“return”键。通常,您可以通过设置UITextField的returnKey属性来实现这一点,但由于应用程序是HTML格式的,因此没有UITextFields,只有textareas

目前,我的工作是将替换按钮隐藏在右下角,并用键盘向上设置动画,使其位于返回键的顶部。实际上,它看起来很不错,但我担心我的代码在未来的iOS版本中可能无法工作


有没有更好的办法?我知道在iOS4中有一种访问ui键盘的方法,但是iOS5删除了它。

要查看是否触摸了返回键,我将onKeyPress添加到HTML body标记中,如下所示

<body onKeyPress="return returnKeyPressed(event)">
function returnKeyPressed(event){
    if(window.event.keyCode == 13) document.location = "returnkeypressed:";
    return true;
}
我在类中有一个webView委托

- (BOOL)webView:(UIWebView*)aWebView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{
    NSString *requestString = [[request URL] absoluteString];
    NSArray *components = [requestString componentsSeparatedByString:@":"];
    NSString *theTask = (NSString *)[components objectAtIndex:0];

    if([theTask isEqualToString:@"returnkeypressed"]) [aWebView endEditing:YES];
}
这将结束webView中的所有编辑,关闭键盘,并从任何特定文本区域或输入中移除焦点

如何在webView情况下更改返回键的“标签”(改为类似“完成”)对我来说仍然是个谜。想法

更新: 我将javascript函数更改为

function returnKeyPressed(event){
    if(event.srcElement.nodeName == 'INPUT' && window.event.keyCode == 13) document.location = "returnkeypressed:";
    return true;
}

要允许返回键在文本区域中正常工作。

要查看返回键是否被触摸,我将onKeyPress添加到HTML正文标记中,如下所示

<body onKeyPress="return returnKeyPressed(event)">
function returnKeyPressed(event){
    if(window.event.keyCode == 13) document.location = "returnkeypressed:";
    return true;
}
我在类中有一个webView委托

- (BOOL)webView:(UIWebView*)aWebView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{
    NSString *requestString = [[request URL] absoluteString];
    NSArray *components = [requestString componentsSeparatedByString:@":"];
    NSString *theTask = (NSString *)[components objectAtIndex:0];

    if([theTask isEqualToString:@"returnkeypressed"]) [aWebView endEditing:YES];
}
这将结束webView中的所有编辑,关闭键盘,并从任何特定文本区域或输入中移除焦点

如何在webView情况下更改返回键的“标签”(改为类似“完成”)对我来说仍然是个谜。想法

更新: 我将javascript函数更改为

function returnKeyPressed(event){
    if(event.srcElement.nodeName == 'INPUT' && window.event.keyCode == 13) document.location = "returnkeypressed:";
    return true;
}
允许返回键在文本区域正常工作