除非调用复制,否则键盘不会显示在UIWebView中的输入字段上

时间:2011-05-04 07:01:43

标签: iphone ios4 iphone-sdk-3.0 ios-simulator

我有一个UIWebView,现在只是加载谷歌。当点击搜索栏时,没有弹出键盘,但是如果我在Google主页上的链接上按住手指,则弹出“打开或复制”对话框,然后我就可以使用键盘了。我不确定为什么这样做。

    [LoadGoogle loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]];

非常感谢任何帮助。我花了好几个小时试图解决这个问题。

3 个答案:

答案 0 :(得分:3)

我必须将[_window makeKeyAndVisible];添加到AppDelegate以修复此

答案 1 :(得分:2)

这里提到的解决方案对我不起作用。我有一个持续的错误似乎是iOS的问题,或者至少我的构建设置。我想出了a workaround。如果你仍像我一样陷入困境,试试吧。我认为它会起作用。这里简要介绍一下。如果您需要更多详细信息,请查看我的帖子。

将此放入您的网络视图的委托:

- (BOOL)webView:(UIWebView *)v shouldStartLoadWithRequest:(NSURLRequest *)r navigationType:(UIWebViewNavigationType)t {

  NSString *requestString = [[r URL] absoluteString];

  if ([requestString hasPrefix: @"yourURLPrefix:"] ) {
      if ([requestString hasPrefix: @"yourURLPrefix:keyboardFix"] ) {
          [v.window makeKeyAndVisible];
      }
}

将它放入您可靠地调出键盘所需的任何输入元素的onFocus事件处理程序中:

document.location = "yourURLPrefix:keyboardFix";

答案 2 :(得分:1)

这已经解决了。问题是在控制器下方的IB中有“窗口”。向上移动窗口并正确链接它固定它。