Xcode 按文本长度动态更改标签和单元格大小

Xcode 按文本长度动态更改标签和单元格大小,xcode,ios6,autolayout,Xcode,Ios6,Autolayout,我有一张带有原型电池的桌子。我的项目使用自动布局 单元格包含一些标签,文本长度可以是多种多样的。有时它的长度太长,无法适应其默认大小 我想动态更改标签/单元格大小以显示整个文本。如果需要,自动添加更多行 我试过label的sizetofit,它根本不起任何作用 这是解决方案 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { NSString *c

我有一张带有原型电池的桌子。我的项目使用自动布局

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

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

我试过label的sizetofit,它根本不起任何作用

这是解决方案

- (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;
}