在uiwebview上按下go按钮时隐藏键盘

时间:2011-07-10 22:15:15

标签: javascript objective-c ios4 iphone

这是我的背景: 我有一个带有简单表单的webview(一个输入类型=“text”),我想要两件事: - 当我按下Go按钮时,键盘应该消失 - 我不想要键盘上的上一个/下一个完成的工具栏

我尝试了很多在这里和那里找到的解决方案,(就像这一个iPhone keyboard in UIWebView does not go away没有任何工作:/

我可以尝试任何指针/输入吗?

先谢谢!

2 个答案:

答案 0 :(得分:4)

要删除键盘,如果您知道TextField的ID,您可以尝试将您的类添加为WebView委托并注入一些Javascript以隐藏键盘,这样(设置Delegate的类必须具有UIWebViewDelegate协议在接口声明中):

// Where you set up your WebView, add a class as a Delegate (self in this case)
[webView setDelegate:self];

现在您需要拥有在请求新页面时调用的Delegate方法

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('myInput').blur();"];
    return YES;
}

答案 1 :(得分:-1)

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    [self.myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[textField text]]]];

    return YES;
}

检查一下!!!