UIWebView - 更改大小和适合内容

时间:2012-11-19 12:38:56

标签: html ios uiwebview

我想下载html内容,然后找出它的大小(通过调用javascript函数)。之后我想将UIWebView帧更改为该大小。并且html内容应该填满整个UIWebView

我在stackoverflow上阅读了文档和类似的问题。什么都没有帮助。我不想调用重新加载方法并从服务器两次下载HTML。我得到正确的html宽度和高度,但在更改UIWebView帧大小后,html内容不会填充框架。 (以下代码在- (void)webViewDidFinishLoad:(UIWebView *)webView)中调用

NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *width = [f numberFromString:[self.mediaWebView stringByEvaluatingJavaScriptFromString:@"getContentWidth()"]];
NSNumber *height = [f numberFromString:[self.mediaWebView stringByEvaluatingJavaScriptFromString:@"getContentHeight()"]];

self.mediaWebView.frame = CGRectMake(BORDER_WIDTH, BORDER_WIDTH, _frameWidth, _frameHeight);
self.mediaWebView.bounds = CGRectMake(0, 0, _frameWidth, _frameHeight);

初始化代码:

self.mediaWebView = [[UIWebView alloc] initWithFrame:CGRectMake(BORDER_WIDTH, BORDER_WIDTH, _frameWidth, _frameHeight)];
[self.mediaWebView setBackgroundColor:[UIColor clearColor]];
[self.mediaWebView setOpaque:FALSE];
[self.mediaWebView setUserInteractionEnabled:TRUE];
self.mediaWebView.scrollView.scrollEnabled = FALSE;
self.mediaWebView.scrollView.bounces = FALSE;
self.mediaWebView.delegate = self;
self.mediaWebView.contentMode = UIViewContentModeRedraw;
self.mediaWebView.backgroundColor = [UIColor blackColor];


NSString *stringUrl = @""// some URL

NSURL *url = [NSURL URLWithString:stringUrl];
[self.mediaWebView loadHTMLString:[self.questionView.question.mediaHtml description] baseURL:url];

self.mediaWebView.scalesPageToFit = TRUE;

[self addSubview:self.mediaWebView];

1 个答案:

答案 0 :(得分:2)

正如我在下面的评论中所描述的那样。将scalesPageToFit设置为FALSE

就足够了