简体   繁体   English

设置HTML UIWebView的宽度

[英]Set width of HTML UIWebView

Can I programmatically set the width of the HTML file that I throw into the UIWebView ? 我可以通过编程设置设置到UIWebView中的HTML文件的宽度吗? My problem is that the UIWebView frame is set in a UITableViewCell , so I had to set CGRectMake to fit it in the cell. 我的问题是UIWebView框架是在UITableViewCell设置的,因此我必须设置CGRectMake使其适合单元格。 But now the size of the content is bigger than the frame. 但是现在内容的大小大于框架。 Can I set the width in the UIWebView for the HTML? 我可以在HTML的UIWebView设置宽度吗?

My HTML Code: 我的HTML代码:

<div id="attachment_16505" class="wp-caption alignnone" style="width: 460px"><img src="http://www.floorballmagazin.de/wp-content/uploads/2013/03/20130303_schweiz.jpg" alt="Maßgeblich beteiligt - Mathias Hofbauer sprang von der Strafbank und netzte zum 3:1 ein. / Foto: Hans Ulrich Muelchi, Swiss Unihockey" width="460" height="318" class="size-full wp-image-16505 colorbox-16504" /> <p class="wp-caption-text">Maßgeblich beteiligt &#8211; Mathias Hofbauer sprang von der Strafbank und netzte zum 3:1 ein. / Foto: Hans Ulrich Muelchi, Swiss Unihockey</p> </div> <p><em>In der Schweiz kann Wiler sein historisches Ausscheiden aus den Playoffs mit einem versöhnlichen Cupsieg kurieren. Vor über 3.000 Zuschauern besiegen die Berner Grünenmatt mit 3:1. Bei den Damen kann Sandra Dirksen ihren Titelreigen nicht fortsetzen, die Red Ants brachten eine versprechende Führung nicht über die Runden.</em></p> <p>Als Wilers Kapitän Mathias Hofbauer in 56. Spielminute auf die Strafbank wanderte, wurde es nochmal eng für den noch aktuellen Meister. Sein Unterzahlspiel überstand man aber mit Bravour und als Hofbauer wieder zurück aufs Feld durfte, dauerte es gerade mal sechs Sekunden und der WM-Rekordscorer machte mit einem scharfen Schlenzer alles klar.</p> <p>Bei den Damen waren Deutschlands Ex-Nationalspielerin Sandra Dirksen und ihre Red Ants auf dem Weg zum vierten Cupsieg in Folge. Rychenberg führte zu Beginn des Schlussdrittels mit 2:0, brach aber ein und unterlag Chur mit 2:5. &#8220;Wer den Pokal mit nach Hause nehmen will, muss drei Drittel gut spielen und nicht nur zwei&#8221;, bedauert Dirksen.</p> <p>&#8220;Wir hatten zwar den besseren Start, aber am Ende doch nur Silber. Fünfzehn Sekunden vor der 2. Drittelspause haben wir ein abgelenktes, unglückliches Tor kassiert, das war der Knackpunkt leider.&#8221; Dafür sei man umso motivierter für die bevorstehenden Play-Offs. &#8220;Die Atmosphäre bei einem Cup-Finale ist und bleibt einzigartig. Unsere Fans waren toll&#8221;, schätzt Dirksen.</p>

This is what happens in the cell: 这是在单元格中发生的情况:

One solution is to intercept your HTML and prepend: 一种解决方案是拦截HTML并添加:

<html>
<head>
<style>div {max-width: 460px;}</style>
</head>
<body>
<div>

And append: 并追加:

</div>
</body>

Take a look at this question/answer ( HTML Content fit in UIWebview without zooming out ) from a while back. 一会儿看看这个问题/答案( HTML内容适合UIWebview而不缩小 )。 I posted some code there. 我在那儿贴了一些代码。

You could either try to set the height of the HTML contents within your HTML code equals to UIWebView . 您可以尝试将HTML代码中HTML内容的高度设置为等于UIWebView Otherwise try this command to set the size of UIWebView fitting to the page 否则,请尝试使用此命令将UIWebView的大小设置为页面大小

webView.scalesPageToFit = YES;

One solution can be : 一种解决方案可以是:

Load the URL Request 加载URL请求

NSString *urlAddress = @"your URL";
NSURLRequest *requestObj = [NSURLRequest requestWithURL:[NSURL URLWithString:urlAddress]];
[self.webView loadRequest:requestObj];  
self.webView.delegate = self;

Then implement WebViewDidFinishDownload delegate to correctly set the scale factor/zoom level 然后实现WebViewDidFinishDownload委托以正确设置比例因子/缩放级别

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
  CGSize contentSize = webView.scrollView.contentSize;
  CGSize viewSize = self.view.bounds.size;

  float sfactor = viewSize.width / contentSize.width;

  webView.scrollView.minimumZoomScale = sfactor;
  webView.scrollView.maximumZoomScale = sfactor;
  webView.scrollView.zoomScale = sfactor;  
}

Hope this Helps !!! 希望这可以帮助 !!!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM