0

我有一张带有原型单元格的表格。我的项目使用自动布局。

单元格包含一些标签,它的文本长度可以是不同的。有时它太长而无法适应其默认大小。

我想动态更改标签/单元格大小以显示整个文本。如果需要,自动添加更多行。

我试过标签的sizetofit,它根本没有做任何事情。

4

1 回答 1

2

这是解决方案。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellText;
    CGRect screenBound = [[UIScreen mainScreen] bounds];
    CGSize screenSize = screenBound.size;
    CGFloat screenWidth = screenSize.width;
    cellText = [detailPeriodsContent objectAtIndex:indexPath.row];
    UIFont *cellFont = [UIFont systemFontOfSize:14];
    CGSize constraintSize = CGSizeMake(screenWidth-40, MAXFLOAT);
    CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

    return labelSize.height + 35;
}
于 2013-03-03T17:28:56.680 回答