我有一张带有原型单元格的表格。我的项目使用自动布局。
单元格包含一些标签,它的文本长度可以是不同的。有时它太长而无法适应其默认大小。
我想动态更改标签/单元格大小以显示整个文本。如果需要,自动添加更多行。
我试过标签的sizetofit,它根本没有做任何事情。
我有一张带有原型单元格的表格。我的项目使用自动布局。
单元格包含一些标签,它的文本长度可以是不同的。有时它太长而无法适应其默认大小。
我想动态更改标签/单元格大小以显示整个文本。如果需要,自动添加更多行。
我试过标签的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;
}