0

例如,有没有办法在 UIWebView 中缩放网页,保持纵横比,但减少水平滚动阅读文章的需要。垂直滚动很好,我只是不希望用户必须不断地在水平方向来回滚动来阅读文章的每一行。谢谢!

编辑:我用来创建视图的代码

    _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, [[self view] frame].size.width, [[self view] frame].size.height)];
    [_webView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];
    [_webView setDelegate:self];
    [_webView setScalesPageToFit:YES];
    [_webView loadRequest:[NSURLRequest requestWithURL:[headline link]]];

该链接始终已针对移动设备进行了格式化。

4

1 回答 1

8

我认为为您的 UIWebView 定义视口可能会有所帮助:

<meta name="viewport" content="width=device-width"/>

这是使用设备的整个宽度;如果您的 UIWebView 较小,您可以指定其宽度(以磅为单位)。

如果您需要在加载页面后将元标记添加到页面的 HTML 中,您可以使用以下代码:

- (void) webViewDidFinishLoad:(UIWebView *)webView {

  NSString* js = 
  @"var meta = document.createElement('meta'); "
   "meta.setAttribute( 'name', 'viewport' ); "
   "meta.setAttribute( 'content', 'width = device-width' ); "
   "document.getElementsByTagName('head')[0].appendChild(meta)";

  [webView stringByEvaluatingJavaScriptFromString: js];        
}

另请检查此 SO 线程以获取相同的另一种技术。

于 2012-07-06T19:10:14.423 回答