0

这是我迄今为止尝试过的

我定义了一个全局变量

float imgHeight;

然后在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath我这样做

        size_t pixelsWide = CGImageGetWidth(scribbleImage.image.CGImage);
        size_t pixelsHigh = CGImageGetHeight(scribbleImage.image.CGImage);
        CGFloat ratio = 312/pixelsWide;
        pixelsHigh = pixelsHigh*ratio;

然后在- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

return pixlesHeight;

现在既然heightForRowAtIndexPath是以前叫过cellForRowAtIndexPath,我总是得到pixelsHeight as 0

我想不出另一种方法来做到这一点。我是否应该在 heightForRow 中重新定义 UIImage 并执行此操作

[scribbleImage setImageWithURL: [NSURL URLWithString:scribble[@"scribble_image"]] placeholderImage:[UIImage imageNamed:@"Default.png"]];

也在里面?!应该有一种更简单的方法来做到这一点。

4

1 回答 1

0

在 heightForRowAtIndexPath 中执行此操作。据我了解,您担心浪费处理和加载时间,只需将 UIImage 存储在处理后的项目数组中,以便在 cellForRowAtIndexPath 中使用相同的项目,然后避免创建一个新项目。

于 2013-07-16T13:41:08.050 回答