我的一个视图控制器中嵌入了一个 Web 视图。它的矩形为 600x800。好像当我发出一个 url 请求时,它告诉网络服务器它是 768px 宽,这是整个 ipad 纵向的宽度。
我们在 HTML 标头中设置了 width=device-width,因此它给了我一个 768x#### 页面并导致 web 视图水平滚动,因为我的 webview 的矩形是 < 768。
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
我如何设置这个 webview 以便它向 web 服务器报告正确的(较小的)宽度?
更新
我确实发现一些代码集在 webViewDidFinishLoad 中的 HTML 中设置了宽度,它确实有效,但是有更好的方法吗?看起来像一个黑客。
NSString *jsCmd = @"var viewport = document.querySelector('meta[name=viewport]');";
jsCmd = [jsCmd stringByAppendingFormat:@"viewport.setAttribute('content', 'width=%i, initial-scale=1.0, user-scalable=1');", (NSUInteger)_webView.frame.size.width];
[_webView stringByEvaluatingJavaScriptFromString:jsCmd];
谢谢