我正在使用SDWebImage。我正在从Web服务API中正确地提取图像,但是如果我得到响应的API没有图像(“null”),我想重新调整我的表视图单元格。
ViewController.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.m
和heightForRowAtIndexPath
为此做点什么,但我很难过。
任何帮助将不胜感激!
将发布所需的任何必要代码!
答案 0 :(得分:1)
看起来你非常接近解决方案。关键是方法-heightForRowAtIndexPath:
- 当行没有图像时,需要返回不同的高度。我不熟悉SDWebImage,但是如果从某种Web服务加载图像,则在尝试加载图像时应该知道图像的哪一行(索引)。因此,如果您要检索图像但没有一个(null),请将该索引添加到mutable array以跟踪缺失的图像。然后,您的-heightForRowAtIndexpath:
方法只需要检查该数组中是否存在row property of the indexPath参数。