Reputation: 59
In my app there is a webview .I have set the scale in iOS custom renderer.I can zoom the webview before it finishload.But it doen't when it finishload.
in webview renderer
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 ;
}
Any suggetions?
Upvotes: 2
Views: 339
Reputation: 18861
Cause:
Because you didn't refer to the tag meta in your html file.
Solution:
Add the following code in the method 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);
}
minimum-scale=0.5,maximum-scale=2.0
You can set the value of MinimumZoomScale and MaximumZoomScale here.
Upvotes: 1