【问题标题】:UIWebView scaling page so that there is no need for horizontal scrollingUIWebView 缩放页面,这样就不需要水平滚动了
【发布时间】:2012-07-07 05:15:53
【问题描述】:

有没有办法在 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]]];

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

【问题讨论】:

  • 有一个属性可以设置。它是 scalesPageToFit。您可以使用webView.scalesPageToFit = YES 或在 IB 中的 Web 视图属性下进行设置。
  • 是的,我已经有那套了,没有运气。
  • 那么可能涉及一些复杂情况,该属性对我来说总是很好。显示一些代码
  • 你能把网址分享给我们吗?可能与那个移动网站有关。奇怪的是,您必须对移动网站进行任何缩放,因为根据设计,您通常永远不必水平滚动。会不会是您访问的那个移动网站有问题?
  • 有可能。我在 iPad 应用程序的子视图中加载页面。链接示例为:m.espn.go.com/mlb/…

标签: objective-c ios ipad uiwebview scaling


【解决方案1】:

我认为为您的 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];        
}

还可以检查 this S.O. thread 以获取相同的另一种技术。

【讨论】:

  • 所以我应该在收到的 HTML 前面加上那个顶行?顶层解决方案和底层解决方案有什么区别?
  • 底层解决方案允许您在无法控制 HTML 源(服务器或您加载的文件)并需要“即时”更改它的情况下执行相同操作,即在webView 已经加载了它。
  • 谢谢!那工作得很好。但是,对于这个特定的 URL,它会扭曲顶部的工具栏。有没有办法只调整文章本身而不是整个页面的大小?
  • 嗯,我认为这是一个不同的问题。使用与上述相同的方法,您可以覆盖页面工具栏的一些 CSS,使其适合宽度......我无法想象任何其他方式。
  • 我们应该只在 webviewDidFinishLoad 方法中设置吗?不能一声明webview就设置吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-06
  • 2011-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多