我想要做的是为外部网站设置初始缩放比例[在某些情况下,内容偏移,但这不太重要]。但是在应用程序最初设置缩放和偏移后,用户应该能够更改它们,并且应用程序不应该干扰。
一些相关信息可用here,here和here。但据我所知,没有一个能做到我想要的。
元设置方法看起来很有希望 - 但是当我不控制将要加载的html内容时,如何设置它?
答案 0 :(得分:29)
尝试此设置初始缩放级别 -
[webView stringByEvaluatingJavaScriptFromString:@"document. body.style.zoom = 5.0;"];
也不要忘记将scalesPageToFit
设置为NO,然后就完成了。
如果将此项设置为YES,则会缩放网页以适应用户,并且用户可以放大和缩小。如果为NO,则禁用用户缩放。默认值为NO。
答案 1 :(得分:5)
如果要为Web视图设置初始缩放,则Web视图可以缩放。您可以尝试在webViewDidFinishLoad协议方法中将元标记添加到HTML字符串的head标记中。您可以更改“初始比例”,“最小比例”和“最大比例”以适应您的要求。看起来像这样:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString* js =
@"var meta = document.createElement('meta'); " \
"meta.setAttribute( 'name', 'viewport' ); " \
"meta.setAttribute( 'content', 'width = device-width, initial-scale = 1.0,minimum-scale=1.0,maximum-scale=10.0 user-scalable = yes' ); " \
"document.getElementsByTagName('head')[0].appendChild(meta)";
[webView stringByEvaluatingJavaScriptFromString: js];
}
答案 2 :(得分:2)
为什么不:
[self.webView.scrollView setZoomScale:2.0 animated:YES];
答案 3 :(得分:0)
best one found尝试在你的标签中的html页面中添加元标记。它会在眨眼间修复。 试试apple link并为您选择合适的元标记。
答案 4 :(得分:0)
如果你在uiwebview中加载html和javascript,那么在viewport set user-scalable = 1.0。