UIImageView大小的自定义单元格高度?

时间:2015-06-18 06:30:12

标签: ios uiimageview autolayout

我在自定义单元格中有一个UIImageView。如果单元格中没有要显示的图像,则单元格高度应自动降低。(在这种情况下,ImageView高度应为零)。如何在xib中为此指定约束?

2 个答案:

答案 0 :(得分:0)

您的UITableView数据源应代表此图片的存在。 您应该使用以下委托方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (self.dataSource[indexPath.rox].imageExists) {
        return 50.0; // Change to your value with image
    }
    return 10.0; // Change to your value without image
}

答案 1 :(得分:0)

您的 UITableViewDelegate 应该实现tableView: heightForRowAtIndexPath

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // add your condition here if image exit or not and set cell size dynamically
    return [indexPath row] * 20;
}

您可能希望使用NSString's sizeWithFont:constrainedToSize:lineBreakMode:方法来计算行高,而不是仅仅对indexPath执行一些愚蠢的数学运算。

以下是dynamic size cell.

的示例代码