我有一个页面加载到iPad上的UIWebView(占据屏幕的100%)。
当我触摸文本字段时,页面将文本字段定位到正确的位置,键盘开始出现,但随后它转过来然后向下移动并在输入字段上调用模糊。
当我在移动版Safari中尝试同一页面时,键盘能够成功部署。
我无法弄清楚键盘成功显示和熬夜的规则是什么?为什么uiwebview与safari不同。
我对这个问题的所有研究都没有得到答案。
答案 0 :(得分:1)
如果您的问题中没有发布任何代码,我推测只有在最后一次调用UIWebViewDelegate webViewDidFinishLoad:
要对此进行测试,请先将UIWebView.delegate
设置为拥有它的UIViewController
(或拥有UIWebView
的任何对象)。然后实现这些委托方法。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *urlString = request.URL.absoluteString;
NSLog(@"%@ with URL = %@", NSStringFromSelector(_cmd), urlString);
return YES;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *urlString = webView.request.URL.absoluteString;
NSLog(@"%@ with URL = %@", NSStringFromSelector(_cmd), urlString);
}
运行您的应用并记下webViewDidFinishLoad:
被调用的次数。 (如果您的网页包含多个框架或包含Google Analytics等内容,则会多次调用它。)
在最后一次调用`webViewDidFinishLoad:'之后尝试触摸HTML文本字段。键盘是否熬夜? (我会这么认为)。
如果可行,接下来尝试在最后调用`webViewDidFinishLoad:'之前进行操作。键盘是否会生成动画然后退回?