如何使用wkwebview

时间:2019-07-07 00:36:25

标签: wkwebview swift5

我正在将URL加载到wkwebview,并且我想阻止它像这样查看网页的一侧

https://drive.google.com/file/d/1qStJ1C_rrcjobSuorgPeLTkHZc82oUV4/view?usp=sharing

代替

https://drive.google.com/file/d/1G05f6UVolmQCqdqKdJ0UFBBA6LVDI-BN/view?usp=sharing

Scrollview已经为假,反弹也为假。有人可以帮我吗

谢谢!

我已经尝试过使用scrollview和bounces参数,但是wkwebview仍然向左移动,露出图像中显示的蓝色部分。我要显示第一个图像中显示的网页,以使其缺少更好的用词而将视图锁定为显示状态。我不确定自己的解释是否很好,但是请告诉我是否需要解释。我在下面添加了一个视频,显示我想知道如何做。

https://drive.google.com/file/d/1uErGQlB1HKLU7px49UtGbsX9nOYqa3FN/view?usp=sharing

导入基金会 导入UIKit 导入WebKit 类ViewControllerWebKit:UIViewController,WKUIDelegate {

var webView: WKWebView!

override func loadView() {


    let webConfiguration = WKWebViewConfiguration()
    webView = WKWebView(frame: .zero, configuration: webConfiguration)
    webView.uiDelegate = self
    view = webView
}
override func viewDidLoad() {
    super.viewDidLoad()
     webView.scrollView.bounces = false
    let myURL = URL(string:"https://www.swpc.noaa.gov/communities/space-weather-enthusiasts")


   let myRequest = URLRequest(url: myURL!)
    webView.load(myRequest)
}}

如照片和视频中所示,我不知道如何阻止它移动,因此它不会显示网页的蓝色部分。

1 个答案:

答案 0 :(得分:0)

如果要停止页面滚动到侧面,则在html中显示的宽度应等于device-width。您可以通过定义viewport来实现。问题是您的页面右侧有蓝色条,所以我认为无论哪种方式都必须显示它。 此解决方案将停止滚动行为,但该栏仍将显示,因为它是页面的一部分。

override func viewDidLoad() {
    super.viewDidLoad()

    let jscript = "var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width');  document.getElementsByTagName('head')[0].appendChild(meta);"
    let userScript = WKUserScript(source: jscript, injectionTime: .atDocumentEnd, forMainFrameOnly: true)
    let wkUController = WKUserContentController()
    wkUController.addUserScript(userScript)
    let webConfiguration = WKWebViewConfiguration()
    webConfiguration.userContentController = wkUController


    webView = WKWebView(frame: .zero, configuration: webConfiguration)
    webView.uiDelegate = self
    view = webView

    webView.scrollView.bounces = false
    let myURL = URL(string:"https://www.swpc.noaa.gov/communities/space-weather-enthusiasts")

    let myRequest = URLRequest(url: myURL!)
    webView.load(myRequest)
}

希望这会有所帮助。