2011-08-24 93 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