Xamarin.forms:WebView比例尺无法正常工作

时间:2018-11-27 01:47:28

标签: xamarin xamarin.forms

在我的应用程序中有一个webview。我已经在iOS自定义渲染器中设置了比例尺。我可以在webview加载完成之前对其进行缩放,但是当webview加载完成时没有缩放。

  

在webview渲染器中

WebView.LoadFinished += LoadFinished;

//...

private void LoadFinished(object sender, EventArgs e)
{
    var contentSize = WebView.ScrollView.ContentSize;
    var viewSize = View.Bounds.Size;
    var scale = viewSize.Width / contentSize.Width;

    WebView.ScrollView.MinimumZoomScale = scale*0.5 ;
    WebView.ScrollView.MaximumZoomScale = scale*2 ;
}

有没有建议?

1 个答案:

答案 0 :(得分:0)

原因:

因为您没有在html文件中引用标记元。

解决方案:

在LoadFinished方法中添加以下代码

private void LoadFinished(object sender, EventArgs e)
{
    //. . .

    NSString str = new NSString("var meta = document.createElement('meta');meta.content='width=device-width,initial-scale=1.0,minimum-scale=0.5,maximum-scale=2.0';meta.name='viewport';document.getElementsByTagName('head')[0].appendChild(meta);");
    webView.EvaluateJavascript(str); 
}
  

最小比例= 0.5,最大比例= 2.0

您可以在此处设置MinimumZoomScale和MaximumZoomScale的值。