OGeek|极客世界-中国程序员成长平台

标题: ios - 如果没有图像,则更改行单元格高度 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:01
标题: ios - 如果没有图像,则更改行单元格高度

我正在使用 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.mheightForRowAtIndexPath 中做一些事情,但我很难过。

任何帮助将不胜感激!

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



Best Answer-推荐答案


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

关于ios - 如果没有图像,则更改行单元格高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19612062/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4