如何在iPhone中动态设置单元格高度?

时间:2011-01-07 11:51:26

标签: iphone uitableview height cell

在我的应用中,我创建了表格视图,并在表格视图中显示了图像和标签。我已下载图像并将图像高度设置为另一个类,我已使用委托传递图像高度值。在我的问题是,heightForRowAtIndexPath方法是非常早的调用,它永远不会再次调用。那么我如何设置单元格高度取决于图像高度?

// appDelegate.imageHeight - 图像高度委托值。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

 NSLog(the height of the image is --------------------------%f, appDelegate.imageHeight);
 In Console:
     the height of the image is --------------------------0.000000
     the height of the image is --------------------------0.000000
     the height of the image is --------------------------0.000000
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
     NSLog(the height of the image is --------------------------%f, appDelegate.imageHeight);
     In Console:

        the height of the image is --------------------------98.567039
        the height of the image is --------------------------300.000000
        the height of the image is --------------------------232.288406
 }

是否可以在cellForRowAt方法中调用heightforRowAtIndexPath方法。因为我已设置单元格框架的大小和高度取决于图像高度。那么如何设置单元格高度取决于图像高度?,请指导我。

谢谢!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

在cellForRowAtIndexPath之前调用heightForRowAtIndexPath方法,因此您需要知道在单元格中显示的图像的高度。维护包含传递给此类的图像高度的字典或数组,并使用它来相应地设置单元格的高度