2

我正在使用 SDWebImage。我从 Web 服务 API 中正确提取图像,但如果我从中获取响应的 API 没有图像(“null”),我想重新对齐我的表视图单元格。

视图控制器.m

if ([fL.images count] == 0) {
        //trying to figure out what to put here to change row height
    }
    else {
}

WebListCell.m

- (void)layoutSubviews {
    [super layoutSubviews];

    // (X, Y, Width, Height)
    self.publishedLabel.frame = CGRectMake(300, 210, 20, 20); 
    self.imageView.frame = CGRectMake(0, 0, 320, 180);
    self.headlineLabel.frame = CGRectMake(10, 210, 290, 40);
    self.descriptionLabel.frame = CGRectMake(10, 250, 290, 30);
    self.premiumLabel.frame = CGRectMake(260, 2, 60, 20);
}

我的问题是当没有图像并且我想重新对齐我的表格视图单元格时,我找不到一个好的“if”语句。

我想我需要为此做点什么WeblistCell.mheightForRowAtIndexPath但我很难过。

任何帮助,将不胜感激!

将发布所需的任何必要代码!

4

1 回答 1

1

看起来你非常接近自己的解决方案。关键是方法-heightForRowAtIndexPath:- 当行没有图像时,这需要返回不同的高度。我对 SDWebImage 不熟悉,但如果您从某种 Web 服务加载图像,则在尝试加载图像时应该知道图像的哪一行(索引)。因此,如果您要检索图像并且没有图像(空),请将该索引添加到可变数组以跟踪丢失的图像。然后您的-heightForRowAtIndexpath:方法只需要检查indexPath参数的 row 属性是否存在于该数组中。

于 2013-10-27T01:26:06.253 回答