如何在WKWebView中更改最小和最大缩放比例?

时间:2017-09-18 23:39:26

标签: ios svg uiwebview wkwebview

我使用WKWebView来显示svg。它相当大,我需要支持在捏手势上缩放它。 WKWebView开箱即用。但。它具有最小和最大缩放比例的自身约束。 例如:

订阅WKWebView的scrollView委托并实现方法

optional func scrollViewDidEndZooming(_ scrollView: UIScrollView, 
                                 with view: UIView?, 
                              atScale scale: CGFloat)
{
        print(self.wkWebView.scrollView.minimumZoomScale, self.wkWebView.scrollView.maximumZoomScale)
        self.wkWebView.scrollView.minimumZoomScale = 0.01
        self.wkWebView.scrollView.maximumZoomScale = 20.0
}

在下一个电话中,它将打印:0.25,5.0。我的值(0.01,20.0)绝对被忽略。这是纠正它的方法吗?

对于弃用的UIWebView,没有这样的问题。 (但是缩放非常不可预测。)

1 个答案:

答案 0 :(得分:1)

我知道这个问题现在已经过时了,但我正在处理似乎是类似的问题,并认为我的解决方案可能对其他人有所帮助。我已经将SVG包装在以下HTML中:

<html>
    <head>
        <meta id="mw-viewport" name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1, initial-scale=1.0"/>
    </head>
    <body>
        <svg/>
    </body>
</html>

我计算了所需的最小/最大缩放级别后,执行一些javascript来抓取"mw-viewport"元标记并编辑"content"属性&#39; s {{ 1}}值。