我使用 WKWebView 来显示 svg。它相当大,我需要支持在捏手势上缩放它。 WKWebView 开箱即用。但。它对最小和最大缩放比例有自己的限制。
例如:
订阅WKWebView的scrollView委托(delegate)并实现方法
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 没有这样的问题。 (但有非常不可预测的缩放。)
Best Answer-推荐答案 strong>
我知道这个问题现在已经过时了,但我正在解决似乎是类似问题的问题,并认为我的解决方案可能对其他人有所帮助。我已将 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" 值。
关于ios - 如何更改 WKWebView 中的最小和最大缩放比例?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/46289653/
|