是否有人知道如何在TableView中设置一个具有可变高度的单元格,具体取决于标签的内容?
在网络上和'完整的教程,但对于ios7 of 5 Xcode已被弃用,所有信息我都很清楚......你能帮忙吗?
答案 0 :(得分: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'变量。请注意,上面的代码将文本限制为200px的宽度,这可能是您不想要的。