【问题标题】:How to set dynamic height cells of UITableView?如何设置 UITableView 的动态高度单元格?
【发布时间】:2014-02-03 18:49:12
【问题描述】:

我在UITableView 中创建了带有标题和副标题的原型UITableViewCell。这些单元格中的内容有许多字行。我正在尝试动态设置单元格的高度。

带有 sizeFont 的想法/方法已被最新的 SDK 弃用。

如何以简单的方式动态设置单元格的高度?

如果您提供一些建议或指向教程的链接,甚至是一些更好的编码示例,我将不胜感激!

【问题讨论】:

    标签: uitableview height


    【解决方案1】:

    要为UITableViewCell 设置高度,请使用UITableViewDelegatetableView:heightForRowAtIndexPath: 方法。 要在 iOS7 中计算 UILabel 高度,您必须使用 boundingRectWithSize:options:context:NSStringboundingRectWithSize:options:context: 将为您提供绘制 UILabel 文本所需的矩形。 试试这个代码:

    - (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
    {
        NSString* string = yourLabel.text;
        UIFont* font = yourLabel.font;
        CGRect expectedLabel =
        [string boundingRectWithSize:CGSizeMake(tableView.frame.size.width, CGFLOAT_MAX)
                             options:NSStringDrawingUsesLineFragmentOrigin
                          attributes:@{ NSFontAttributeName : font }
                             context:nil];
        CGFloat verticalOffset = 10;
        return verticalOffset + expectedLabelRect.size.height + verticalOffset;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多