当前位置: 首页 > 知识库问答 >
问题:

单元格高度取决于标签文本[重复]

闻安宜
2023-03-14

我从CoreData中获取对象,如下所示 并显示它:

cell.nameLabel.text = [NSString stringWithFormat:@"%@",self.name];
cell.nameLabel.numberOfLines = 0;
cell.nameLabel.lineBreakMode = NSLineBreakByWordWrapping;

如何在 中获得单元格的正确高度以返回它

共有3个答案

乐正镜
2023-03-14

尝试禁用情节提要中的自动布局,然后调用SizetOfit。

cell.nameLabel.text = [NSString stringWithFormat:@"%@",self.name];
cell.nameLabel.numberOfLines = 0;
cell.nameLabel.lineBreakMode = NSLineBreakByWordWrapping;
[cell.nameLabel sizeToFit];
杨宏儒
2023-03-14

只需在UITableViewCell类中实现一个静态方法,该方法能够根据提供的字符串和宽度计算单元格高度。细胞应该知道它是如何构造的,它会占用多少空间。

例如:

+ (CGFloat)heightForWidth:(CGFloat)width text:(NSString *)text {

    CGFloat height = ... ;

    return height;
}
竺捷
2023-03-14

null

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    CGSize constraintSize = CGSizeMake(286.0f, CGFLOAT_MAX);
    UIFont *theFont  = [UIFont systemFontOfSize:14.0f];
    CGSize theSize;

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
    {
        CGRect frame = [[self.mArray objectAtIndex:indexPath.row] boundingRectWithSize:constraintSize options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading) attributes:@{NSFontAttributeName:theFont} context:nil];
    theSize = frame.size;
    }
    else
    {
        theSize = [[self.mArray objectAtIndex:indexPath.row] sizeWithFont:theFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
    }

    return theSize.height;
    }

null

如果在 中使用多个标签,请使用低于286.0f的值(例如150.0f)

 类似资料:
  • 问题内容: 我有一个UICollectionView,它从包含标签的可重用单元格加载单元格。数组为该标签提供内容。我可以使用sizeToFit轻松根据内容宽度调整标签宽度的大小。但是我无法制作适合标签的单元格。 这是代码 问题答案: 作为回报,文字大小

  • 在 Swift 中使用 ,有人可以帮助我根据标签、图片和描述自动更改单元格的高度吗? 我想随着标签文本的增加动态更改单元格大小。我已经在标签上应用了自动布局。

  • 我需要显示一组具有不同高度的collectionViewCells。视图太复杂,我不想手动计算预期的高度。我想强制自动布局来计算单元格高度 在之外调用会破坏ColltionView并导致其崩溃 另一个问题是单元格不在单独的xib中,所以我无法手动实例化临时单元格并将其用于高度计算。 对此有什么解决办法吗? 编辑: 一旦被调用,就会发生崩溃。如果我不调用该方法并返回大小,则一切正常,单元格显示为没有

  • 我正在尝试让我的表视图单元格根据单元格内的内容调整其高度。 它似乎在工作,因为单元格有不同的高度,但我无法正确显示文本。 表视图和原型单元格是用故事板创建的,我有一个自定义的单元格类链接到我的原型单元格。在我的原型电池中,我有三个标签;标题标签、日期标签和包含动态文本数据的标签。在情节提要的属性检查器中,动态文本数据标签行号设置为0,换行符设置为“换行”。 当我运行应用程序时,单元格高度都不同,因

  • 场景- > TableView高度是使用纵横比相对于superview的高度动态设置的。 TableViewCell的高度是根据表格视图的高度计算的: 问题 - 最初在委托方法中没有正确计算表格视图高度。但在滚动单元格后正确计算。 尝试的解决方案: 在视图中重新加载。 调用 在单元格中进行. 有什么方法可以正确计算出这个表格的高度吗?

  • 嗨,在我的应用程序中,我有一个在Tabview中显示带有描述的prodcuts的要求。为了实现这一点,我在Tabview cell content视图上添加了两个satckviews。两个stackviews都保存标签,一个标签有prodcut名称,另一个标签有description。在应用程序发布时,应用程序的单元格高度默认为100,但当我选择单元格时,我想在单元格中显示完整的描述以及产品名称,