我试图让我的 UITableView 中的单元格适应其中文本的长度。如果文本太长,单元格会变高一点以适应它。
我正在尝试这样的事情:
cell.textLabel.numberOfLines = 0;
cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.textLabel.text = [[name stringByAppendingString:@": "]
stringByAppendingString:comment];
但发生的情况是单元格只是试图将文本放入相同的垂直空间量,而不会变得更高。
有人知道我在这里做错了什么吗?
谢谢!
最佳答案
您需要使用单元格高度委托(delegate)。看这里:dynamic UITableViewCell height .
您需要做的是计算文本高度,然后将单元格的高度设置为该值。
具体这个方法:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *yourText = [someArray objectAtIndex:indexPath.row];
CGSize constraint = CGSizeMake(320 /*cell width*/, CGFLOAT_MAX);
CGSize size = [yourText sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
CGFloat height = MIN(size.height, 44.0f);
return height;
}
关于ios - UITableViewCells 未扩展以适合文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11850637/