1

有人知道如何根据标签的内容在 TableView 中设置具有可变高度的单元格吗?

在网络上和'充满教程,但对于 5 Xcode 的 ios7 已弃用,所有信息我都非常清楚......你能帮忙吗?

4

1 回答 1

2

您覆盖 tableView:heightForRowAtIndexPath: 并在其中根据以您选择的字体呈现时的大小计算内容的高度:

所以,像这样:

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
   NSString *content = [self.contentArray objectAtIndex:indexPath.row];

   // Max size you will permit
   CGSize maxSize = CGSizeMake(200, 1000);
   CGSize size = [content sizeWithFont:font constrainedToSize:maxSize lineBreakMode:NSLineBreakByWordWrapping];
   return size.height + 2*margin;
}

我发现我需要添加一些填充,因此上面的 'margin' 变量。请注意,上面的代码将文本限制为 200 像素的宽度,这可能不是您想要的。

于 2013-09-28T21:18:56.383 回答