WKWebView-scrollView的contentSize与图像大小不匹配

时间:2019-10-09 21:33:33

标签: swift

我试图让WKWebView从数据中加载图像,但是它使scrollView的contentSize大大大于实际图像。有人可以解释发生了什么吗?

这是我从数据类加载图像的方式。

if let image = UIImage(data: data) {
     print("image size:", image.size)
}

webView.load(data, mimeType: mimeType, characterEncodingName: "", baseURL: url)

然后NavigationDelegate向我返回contentSize。

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    print("content size:", webView.scrollView.contentSize)
}

我得到的输出如下。图像居中在超大滚动视图的顶部。

image size: (133.0, 354.0)
content size: (834.0, 988.0) // same size as my WKWebView

我想让scrollView大小与我的图像匹配。  感谢您的任何建议。

编辑1:我尝试了各种解决方案以使用较小的contentSize调整大小,但是scrollView似乎没有响应。现在,我在以下位置:

if let image = UIImage(data: data), image.size.width < webView.bounds.width && image.size.height < webView.bounds.height, let contentView = webView.scrollView.subviews.first {
     let imageView = UIImageView(image: image)                  
     imageView.translatesAutoresizingMaskIntoConstraints = false
     contentView.addSubview(imageView)

     let constraints = [                           
          imageView.centerXAnchor.constraint(equalTo: contentView.centerXAnchor),
          imageView.centerYAnchor.constraint(equalTo: contentView.centerYAnchor)
     ]

     NSLayoutConstraint.activate(constraints)
} else {
     webView.load(data, mimeType: mimeType, characterEncodingName: "", baseURL: me.url)
}

0 个答案:

没有答案