设置UITableViewCell的高度取决于UILabel的高度
问题描述:
如果您能告诉我如何根据UILabel的高度设置UITableViewCell的高度,我将非常感激。设置UITableViewCell的高度取决于UILabel的高度
我当前的代码来设置UILabel的高度:
cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.textLabel.numberOfLines = 0;
cell.textLabel.text = [self getItemForKey:kSummary];
cell.textLabel.font = [UIFont systemFontOfSize:15];
cell.textLabel.textColor = [UIColor colorWithRed:54.0f/255.0f green:54.0f/255.0f blue:54.0f/255.0f alpha:1.0f];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [[cell.textLabel text] sizeWithFont:[cell.textLabel font] constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
cell.textLabel.frame = CGRectMake(0, 0, 280, labelSize.height);
答
您将需要实现的UITableViewDelegate方法- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *text = [self getItemForKey:kSummary];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
//You will need to define kDefaultCellFont
CGSize labelSize = [text sizeWithFont:kDefaultCellFont
constrainedToSize:constraintSize
lineBreakMode:UILineBreakModeWordWrap];
return labelSize.height + ANY_OTHER_HEIGHT;
}
+1
如果我这样做,填充增加与字数,我不知道为什么:/ – 2013-08-07 15:43:15
http://stackoverflow.com/questions/2136051重复的问题/计算多行文本高度为uilabel-uitableviewcell不同的结果 – 2011-04-15 20:51:52