我在 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)
如果横幅是 float 的/粘性的(随着你滚动并且它总是显示在顶部)这可能不起作用,那么你可以:
- 通过添加与横幅相同的高度来使您的 WKWebview 更高
- 将 webview 的顶部约束设为负数。 (顶部将在屏幕外)
- 这样,横幅将始终存在,但永远不会出现在屏幕之外。
- 如果您的 webview 没有覆盖整个屏幕,您仍然可以这样做,只需确保您在其顶部有一个带有填充颜色的 View 以隐藏横幅
关于ios - Swift WKWebView 填充以隐藏对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54916792/