簡體   English   中英

UIWebView - 更改大小和適合內容

[英]UIWebView - change size and fit content

我想下載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];

正如我在下面的評論中所述。 將scalesPageToFit設置為FALSE是很有必要的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM