首页 文章

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

提问于
浏览
1

我使用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 回答

  • 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" 属性的 "minimum-scale=1, maximum-scale=1" 值 .

相关问题