我使用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,没有这样的问题。 (但是缩放非常不可预测。)
答案 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}}值。