2011-08-24 86 views
0

我得到一個UIWebView的新大小拋出其委託=調整大小的UIWebView在一個UITableView

#pragma mark - UIWebView delegate 
- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSLog(@"Taille resizée = %f", [webView sizeThatFits:CGSizeZero].height); 
    CGRect frameTitle = CGRectMake(10, 0, [webView frame].size.width, [webView sizeThatFits:CGSizeZero].height); 
    webView.frame = frameTitle; 
} 

,但爲時已晚了的UITableView,其構造表的數據源之前,先前fonction被稱爲。處理這個問題的最好方法是什麼?

就目前而言,我已經找到了最好的解決辦法是:

#pragma mark - UIWebView delegate 
- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSLog(@"Taille resizée = %f", [webView sizeThatFits:CGSizeZero].height); 
    CGRect frameTitle = CGRectMake(10, 0, [webView frame].size.width, [webView sizeThatFits:CGSizeZero].height); 
    webView.frame = frameTitle; 
    [myTableView reloadData]; 
} 

但我不覺得這是優雅的,因爲表負載兩倍的數據。

感謝,

回答

1

我這是怎麼重裝基礎上的UIWebView的高度,是我的tableview。它對我很好。

- (void)webViewDidFinishLoad:(UIWebView *)webview{ 
float webHeight; 
CGRect frame = webview.frame; 
frame.size.height = 1; 
webview.frame = frame; 
CGSize fittingSize = [webview sizeThatFits:CGSizeZero]; 
frame.size = fittingSize; 
webview.frame = frame; 
webHeight=fittingSize.height; 
rowHt=webHeight; 
[aTableView reloadData]; 

}

希望這有助於

+0

啊!我剛剛添加了一個編輯。這就是我目前所做的。但是它加載了兩倍的數據,並不是CPU的最佳選擇。 –

+0

兩次數據?你能解釋更多嗎?並且還會發布更多的urs代碼... – booleanBoy

+0

您需要給出在tableview的heightForRowAtIndexPath委託方法中獲得的新行高 – booleanBoy