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 没有覆盖整个屏幕,您仍然可以这样做,只需确保您在其顶部有一个带有填充颜色的视图以隐藏横幅
我在 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 没有覆盖整个屏幕,您仍然可以这样做,只需确保您在其顶部有一个带有填充颜色的视图以隐藏横幅