我需要在表格视图的单元格中加载HTML。我使用的是UIWebView而不是UILabel,以便对html标签进行解释。
WebView的大小不同,所以我在做
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView sizeToFit];
}
以便正确设置网络视图的大小。但是,我还需要定义单元格的高度,我打算将其设置在内部
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
}
不幸的是,heightForRowAtIndexPath在webViewDidFinishLoad之前调用,因此我无法正确定义单元格的高度。
对我的问题有什么建议吗?我发现了一个有关此问题的旧问题,但对我没有帮助:How to determine UIWebView height based on content, within a variable height UITableView?
谢谢,
阿德里亚娜
最佳答案
我找到了解决问题的方法。我需要在表视图的末尾有一个Web视图,所以我做了以下工作:
- (void)viewWillAppear:(BOOL)animated {
CGRect frame = CGRectMake(10, 0, 280, 400);
webView = [[UIWebView alloc] initWithFrame:frame];
self.webView.delegate = self;
webView.hidden = YES;
//It removes the extra lines from the tableview.
[self.tableView setTableFooterView:self.webView];
...
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView sizeToFit];
[webView setBounds:CGRectMake(webView.bounds.origin.x, webView.bounds.origin.y, webView.bounds.size.width+20, webView.bounds.size.height)];
self.webView.hidden = NO;
[self.tableView setTableFooterView:webView];
...
[webView release];
}
它有效且快速!
关于iphone - 在webViewDidFinishLoad之前的heightForRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5949796/