单击文本字段时iOS 7中的UIWebView问题

时间:2013-12-31 07:32:29

标签: ios objective-c ios6 uiwebview ios7

我在iPad原生应用中的webview上加载网址。它到目前为止工作正常,但在iOS7中,当我们点击文本字段时,webview中的内容正在向上移动。请检查以下代码和屏幕截图。我尝试通过以下帖子修复,但没有帮助。

iOS 7 input elements moving fixed positioned elements

UIWebView scrolling down on input focus iOS 6 only

self.webView.delegate=self;
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:strURL]]];

enter image description here

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您使用的是UIWebview,则应将body标签的最小高度设置为设备的内部高度。例如,适用于iPhone 4S的460px或适用于iPhone 5的520px

内高=设备高度 - 状态栏高度= 460px,基本上应该是应用容器的高度。

document.addEventListener("deviceready", function(){
    var body = document.getElementsByTagName('body')[0];
    body.style.minHeight=window.innerHeight + 'px';
}, false);

答案 1 :(得分:0)

我也有这个问题。我们有一个继承自UIWebView:CustomWebView的自定义类。我们将Web视图的scrollView委托设置为CustomWebView:

self.scrollView.delegate = self;

我们定义了scrollViewDidScroll,以便在页面滚动时获得回调:

- (void) scrollViewDidScroll:(UIScrollView *)scrollView
{
    // Do some stuff
}

但是,在iOS 7中,似乎UIWebView已经是其滚动视图的委托,因此需要接收scrollViewDidScroll才能正确处理滚动。删除我的scrollViewDidScroll定义,或添加

[super scrollViewDidScroll:scrollView]

到我的scrollViewDidScroll定义的开头,我能够解决这个问题。

我希望这有帮助!