页面底部无法在WKWebView中显示

时间:2017-07-17 17:03:19

标签: scroll wkwebview

长网页在WKWebView中呈现,但即使将页面滚动到底部,底部页面的一小部分也无法显示。

似乎页面的底部不在屏幕上,因为当我向上拉页面而不释放手指时,我可以看到它。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

我正在回答我自己的问题,因为我已经找到了解决这个问题的原因。

我对Objective-C知之甚少,所以在描述我的答案时可能会有一些小错误。

首先,如果属性WKWebView设置为automaticallyAdjustsScrollViewInsets,则true顶部会有一个默认边距,并且可能存在XCode 8.3的错误(一切都在进行中)当我使用XCode 8.0编译我的代码时,边距占据了网页的真实部分,因此即使我将网页设置为较小的尺寸,网页也无法滚动到其底部。因此,将automaticallyAdjustsScrollViewInsets设置为false将删除WKWebView的边距;这是此属性的文档:https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin

然后,将WKWebView的高度设置为视口高度减去状态栏高度减去导航栏高度的计算结果。

在此处粘贴我的代码:

self.automaticallyAdjustsScrollViewInsets = false;

CGFloat statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height;

CGFloat navBarHeight = self.navigationController.navigationBar.frame.size.height;

WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectMake( 0, statusBarHeight + navBarHeight, self.view.bounds.size.width, self.view.bounds.size.height - statusBarHeight - navBarHeight )];