0

如何修改内容框架(例如文本)UIWebView

请检查下面的图片,它解释了我的要求。

附图

在上图中,带有黄色边框的框是UIWebView框架,红色是它的内容(HTML text in webView)。黑线(靠近黄色框)是scroll bar应该出现的地方。所以我需要的是,只减少内容宽度UIWebView而不改变webView's框架scroll bar并将webView.

有没有可能实现?

请分享你的想法。

谢谢你。

4

2 回答 2

1
[webView setOpaque:NO];
[webView setBackgroundColor:[UIColor redColor]];
NSString *htmlString = @"<html>\
                        <body>\
                        <div style='width:33%; color:white; background-color:black; margin:0px auto; text-align:center;'>Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</div>\
                        </body>\
                        </html>\
";

[webView loadHTMLString:htmlString baseURL:nil];
  1. 黑色视图是contentView或任何div
  2. 红色视图是您的webView.
  3. margin:0px auto;属性使该div居中。
  4. 您可以根据自己更改contentView的宽度。div标签width:33%

结果是:-

在此处输入图像描述

于 2013-06-18T12:17:22.880 回答
0

UIScrollView 属性可用于从 iOS 5 开始的 UIWebView。您可以通过在委托中实现 webViewDidFinishLoad: 消息来使用它来调整视图大小,如下所示:

-(void)webViewDidFinishLoad:(UIWebView *)webView {
    CGRect newBounds = webView.bounds;
    newBounds.size.height = webView.scrollView.contentSize.height;
    webView.bounds = newBounds;
}

或者

[self.webView stringByEvaluatingJavaScriptFromString:
     [NSString stringWithFormat:
     @"document.querySelector('meta[name=viewport]').setAttribute('content', 'width=%d;', false); ",
      (int)self.webView.frame.size.width]];
于 2013-06-18T12:05:21.567 回答