Swift WKWebView Padding 隐藏对象

Swift WKWebView Padding to hide object

我在 WKWebView 中显示一个网站,该网站恰好在页面顶部有一个横幅。我不希望用户看到此横幅。我曾尝试使用 JavaScript 删除横幅,这一直有效,直到他们改变了横幅的工作方式,我无法再删除它。

所以,我最后的办法是让 WKWebView 有一个负填充或类似的东西,这样人们就不能向上滚动,而且看起来网页顶部在横幅后面。

有没有人知道我如何才能完成这项工作?

好的,确保不干扰滚动的好方法是通过 javascript 删除,但您可以尝试使用 contentInsets。

let webview = WKWebView(frame: self.view.bounds)
webview.scrollView.contentInsetAdjustmentBehavior = .never
webview.scrollView.contentInset = UIEdgeInsets(top: -50, left: 0, bottom: 0, right: 0)

如果横幅是 floater/sticky(随您滚动并且始终显示在顶部)这可能不起作用,那么您可以:

  • 通过添加与横幅相同的高度来使您的 WKWebview 更高
  • 将 webview 的顶部约束设为负数。 (顶部将在屏幕外)
  • 这样,横幅将始终存在,但永远不会出现在屏幕之外。
  • 如果您的 webview 没有覆盖整个屏幕,您仍然可以这样做,只需确保您在其顶部有一个带有填充颜色的视图以隐藏横幅