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