NativeScript:禁用iOS WebView的缩放控件的方法?

时间:2018-02-16 09:06:21

标签: ios webview nativescript angular2-nativescript

我试图找出一种方法来防止用户通过捏合手势和放大器在iOS WebView(tns-ios 3.4.1)上放大和缩小。双击,基本上禁用所有缩放,就像之前用过的html元标记一样,让苹果去让用户决定是否要用iOS 10及更高版本进行缩放。 我找到了一个针对Android here的解决方案,对于iOS来说,它看起来并不是那么简单。

我对平台很陌生,目前这可能吗?我发现NS最近从UIWebView切换到WKWebView,我们可以使用NativeScript(* with angular)以某种方式使用allowsMagnification属性吗?

2 个答案:

答案 0 :(得分:3)

我能够从NS 3.3 - 4.1

获得

获取#webview参考,然后为ios和android设置这些属性以修复视图缩放。

let webView: WebView = this.webView.nativeElement;
webView.on(WebView.loadStartedEvent, function (args: LoadEventData) {               
    if (webView.android) {
        webView.android.getSettings().setBuiltInZoomControls(false);
        webView.android.getSettings().setDisplayZoomControls(false);
    } else {
        webView.ios.scrollView.minimumZoomScale = 1.0;
        webView.ios.scrollView.maximumZoomScale = 1.0;
        webView.ios.scalesPageToFit = false;
        webView.ios.scrollView.bounces = false;
    }
});

答案 1 :(得分:0)

不,您将无法使用didFinishAnimating。您将扩展到自己的WebView组件版本,以便更新元配置以停止缩放。

<强>更新

必须修改从{N}核心模块(v5.x)注入的默认视口才能禁用缩放,这是它的完成方式。

allowsMagnification

Playground Sample