我想下載html內容,然後查找它的大小(通過調用javascript函數)。之後,我想將UIWebView
幀更改爲該尺寸。而html內容應該填寫整個UIWebView
。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是很有用的。當我使用WebView的幀大小進行播放時,HTML內容沒有改變。所以我開始使用webview的最大尺寸,然後從JS函數獲取正確的大小,並在最終更改框架大小。內容從未縮放(縮放,...),這正是我想要的。 – kraag22