我正在试验 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
}
// ...
}
但不幸的是,这没有效果。
可以通过在视口(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 respectinguser-scalable=no
from a viewport. Clients ofWKWebView
can improve accessibility and allow users to pinch-to-zoom on all pages by setting theWKWebViewConfiguration
propertyignoresViewportScaleLimits
toYES
.
关于ios - 如何在 turbolinks-ios 中禁用 UIWebView 的缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38927658/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |