我正在使用 SDWebImage。我从 Web 服务 API 中正确提取图像,但如果我从中获取响应的 API 没有图像(“null”),我想重新对齐我的表格 View 单元格。
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”语句,我想重新对齐表格 View 单元格。
我认为我需要为此在 WeblistCell.m 和 heightForRowAtIndexPath 中做一些事情,但我很难过。
任何帮助将不胜感激!
将发布所需的任何必要代码!
Best Answer-推荐答案 strong>
看起来您已经非常接近自己的解决方案了。关键是方法 -heightForRowAtIndexPath: - 这需要在行没有图像的情况下返回不同的高度。我对 SDWebImage 不熟悉,但如果您从某种 Web 服务加载图像,则在尝试加载图像时应该知道图像的哪一行(索引)。因此,如果您要检索图像并且没有图像(空),请将该索引添加到 mutable array跟踪丢失的图像。然后你的 -heightForRowAtIndexpath: 方法只需要检查 row property of the indexPath参数存在于该数组中。
关于ios - 如果没有图像,则更改行单元格高度,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/19612062/
|