基于内容的两个自定义tableviewcell的高度

穆罕默德·萨尔曼(Muhammad Salman)

我已经看到了许多有关此问题的问题和答案,但没有任何效果。我在tablview中有两个自定义单元格。我想根据内容更改单元格的高度。我现在尝试使用此代码,但是它永远无法正常工作。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomTableViewCell *cell;
    NSLog(@"%ld",(long)indexPath.row);
    NSLog(@"%ld",(long)hospital.hospComment.count);
    if (hospital.hospComment.count > (indexPath.row+1)) {
        cell.personComment.text = [hospital.hospComment objectAtIndex:(indexPath.row +1)];

    }

    [cell setNeedsLayout];
    [cell layoutIfNeeded];

    CGFloat height = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;

    height += 1;

    return height;
}

我怎样才能做到这一点?

粘帕尔玛

您应该像这样声明单元格,

CustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"tableViewCellMain"];

if (cell == nil) {

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"tableViewCellMain"];

}

声明单元格中的Accordint将为nil。第二件事,请确保您给出适当的约束

还有一个建议:您可以使用Apple的新功能UITableViewAutomaticDimensionestimatedRowHeight要了解更多有关它的信息,请参阅Appcoda的这篇很棒的小教程

希望这会有所帮助:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自定义tableViewCell高度

如何基于Angular js中的两个自定义过滤器过滤数据

如何基于两个自定义对象删除列表中的重复项

如何返回两个自定义HTTP状态代码和内容?

Java / SQL创建自定义序列/基于两个序列创建一个序列

基于高度的自定义视图

我想在单个表视图中使用笔尖中的两个不同的自定义单元格。两个原型单元的高度不同

使用自定义管道基于两个输入的Angular2过滤器表

通过从基于多个 ID 的两个不同行中减去列值来创建自定义字段

使用dplyr基于R中的其他两个列自定义对新列进行变异

声明两个自定义块。

使用自定义规则比较两个哈希

从两个列表创建自定义组合

从两个列表创建自定义词典

两个视图之间的自定义循环过渡

合并两个自定义对象类型的ArrayList

比较两个自定义LIST对象

比较两个自定义格式的日期jQuery

SQLite:自定义联接两个表?

比较两个自定义列表python

Keras 自定义合并两个张量

Laravel自定义两个日期的验证

python两个列表映射自定义

正则表达式-在两个自定义定界符中提取内容

如何在Word中的两个自定义字符串之间提取内容并粘贴到末尾

具有两个自定义形状按钮的WPF自定义控件

SwiftUI-基于设备的自定义TabBar高度

如何在Swift中合并两个自定义类型数组并删除重复的自定义类型项?

通过两个步骤传递数据-自定义字段映射器和自定义Tasklet