我有一个UIWebView,现在只是加载谷歌。当点击搜索栏时,没有弹出键盘,但是如果我在Google主页上的链接上按住手指,则弹出“打开或复制”对话框,然后我就可以使用键盘了。我不确定为什么这样做。
[LoadGoogle loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]];
非常感谢任何帮助。我花了好几个小时试图解决这个问题。
答案 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中有“窗口”。向上移动窗口并正确链接它固定它。