如何根据UITableViewCells中的内容量来扩展它们?在我的单元格中,我使用3个代表论坛的标签。标签名为“别名”,“日期”和“评论”。第三个标签注释,可以是任意数量的行。因此,我的单元格需要动态变化,具体取决于它在“comments”标签中的文本量(大小)。以下是我的相关代码:
- (UITableViewCell *)tableView:(UITableView *)pTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"ForumthreadCell";
UITableViewCell *cell = [pTableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
Feedback *item = [self.items objectAtIndex:indexPath.row];
UILabel *aliasLabel = (UILabel *)[cell viewWithTag:1];
UILabel *commentLabel = (UILabel *)[cell viewWithTag:2];
UILabel *dateLabel = (UILabel *)[cell viewWithTag:3];
[aliasLabel setText:item.alias];
[commentLabel setText:item.comment];
[dateLabel setText:[self.dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:(double)item.time]]];
commentLabel.numberOfLines = 0;
[commentLabel sizeToFit];
return cell;
}
在这个方法中,我应该根据commentLabel的高度设置tableViewCell的高度。唯一的问题是我不知道该怎么做?
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (????) {
return ????;
//return [indexPath row] + 50;
}
return ????;
}
我需要那些试图查看我的代码的人的帮助,并举例说明如何使这项工作成功。毕竟,它只有一个标签....我已经看过几个教程但是没能使它工作... Thanx为你的时间和帮助。 这是一个带有一些旧代码的旧屏幕。这或多或少是论坛现在的样子:http://tinypic.com/view.php?pic=16h7me9&s=6
答案 0 :(得分:0)
您需要的是一种计算使用特定字体呈现的文本大小的方法。幸运的是,UIKit通过NSString UIKit Additions中的各种sizeWithFont:
方法为您提供了这一点。