heightForRowAtIndexPath

heightForRowAtIndexPath

我需要在表格视图的单元格中加载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/

10-13 03:56