ios - Swift WKWebView 填充以隐藏对象

标签 ios swift wkwebview

我在 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/

相关文章:

ios - 如何使用 Swift 在 CustomCell 中将 inputAccessoryView 实现到 UITextField?

ios - 在 iOS Swift 中设置按钮事件颜色的简单方法

WKWebView评估JavaScript完成处理程序在iOS 11中未调用

ios - postNotificationName 尚未在 appdelegate 类中触发

objective-c - 如何让 NSBundle URLsForResourcesWithExtension 返回实际的 URLs?

ios - LLVM 错误 : Broken function found, 编译中止

ios - 非 Apple 信标未调用 Central Manager 的 didDiscoverPeripheral 方法

ios - 嵌入的 youtube 视频未在 WKWebView 中播放,而完全相同的视频在 UIWebView 中工作

html - WKWebView 在 Mac OSX 中不显示 HTML 字符串

iphone - UINavigationController + UITableViewController 横向方向的反向转换错误