我正在试验 turbolinks-ios turbolinks 5 的适配器.
为了有一些 View ,例如一开始的欢迎 View ,感觉更加原生,我想停用一些 UIWebView 功能,例如缩放或选择文本。
如何在 UIWebView 实例上禁用这些功能?
演示应用程序
Turbolinks for iOS 有一个演示应用程序,如果这样更容易回答问题,可以用作示例上下文。
可在此处找到演示应用程序:
https://github.com/turbolinks/turbolinks-ios/tree/master/TurbolinksDemo
不起作用:设置 maximumZoomScale
UIScrollView 的 maximumZoomScale 的文档如下:
maximumZoomScale: A floating-point value that specifies the maximum scale factor that can be applied to the scroll view's content.
This value determines how large the content can be scaled. It must be greater than the minimum zoom scale for zooming to be enabled. The default value is 1.0.
因此,在 View Controller 中,我尝试设置属性:
// DemoViewController.swift
class DemoViewController: Turbolinks.VisitableViewController {
override func viewDidLoad() {
super.viewDidLoad()
visitableView.webView?.scrollView.maximumZoomScale = 1.0
visitableView.webView?.scrollView.minimumZoomScale = 1.0
}
// ...
}
但不幸的是,这没有效果。
Best Answer-推荐答案 strong>
可以通过在视口(viewport)元标记上设置 user-scalable=no 在服务器端禁用缩放:
<head>
<meta name="viewport" content="width=device-width, user-scalable=no" />
</head>
作为 this stackoverflow answer建议:
user-scalable=no ... You use it if you want your web app to feel more like a native app (in terms of zooming).
有some discussion这在 iOS 10 中将不再可能。但根据 release nots of iOS10 beta 6 ,现在可以选择加入:
Safari
WKWebView now defaults to respecting user-scalable=no from a viewport. Clients of WKWebView can improve accessibility and allow users to pinch-to-zoom on all pages by setting the WKWebViewConfiguration property ignoresViewportScaleLimits to YES .
关于ios - 如何在 turbolinks-ios 中禁用 UIWebView 的缩放?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/38927658/
|