UIWebView,自定义“返回”键

我想在UIWebView的键盘上自定义“返回”键。 通常你可以通过设置UITextField的returnKey属性来做到这一点,但是因为应用程序是在HTML中,所以没有UITextFields,只有textareas。

目前,我的工作是隐藏我的replacebutton在右下angular,并用键盘向上animation,使它位于返回键的顶部。 实际上,它看起来非常好,但我担心我的代码可能无法在未来版本的iOS中工作

有没有更好的方法来做到这一点? 我知道在iOS4有一种方法来访问UIKeyBoard,但iOS5删除了这一点。

为了查看返回键是否被触动,我把onKeyPress添加到HTML body标签中

<body onKeyPress="return returnKeyPressed(event)"> 

页面上有一个javascript函数,看起来像这样

 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的所有编辑结束,closures键盘,并从任何特定的textarea或input中删除焦点。

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

更新:我改变了JavaScript的function

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

允许返回键在textareas中正常运行。