我正在尝试制作一个消息传递应用程序。我有一个表格 View ,我必须在其中添加来自 JSON web 服务的所有消息。我正在为自定义单元格使用从 UITalbeViewCell 继承的自定义类。
我没有这个自定义类的任何 nib 文件。我只创建此类的对象并设置其消息标签文本并在“cellForRowAtIndexPath”委托(delegate)方法中作为单元格返回。
现在我面临一个问题,自定义类根据消息的长度返回完美的布局消息单元格,它的高度也很完美,但是当这个单元格添加到 UITableView 中时,行的高度不会自动设置为高度自定义单元格,这就是为什么较大的文本单元格重叠的原因。请在这方面帮助我如何设置自定义单元格的高度。
可以看到单元格重叠的错误图片
最佳答案
您需要为每个单元格 heightForRowAtIndexPath 委托(delegate)方法计算高度并返回该值,如下所示
- (CGFloat)tableView:(HBTableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CGRect textRect = [<YOUR_MESSAGE> boundingRectWithSize:boundingSize options:NSStringDrawingUsesFontLeading attributes: @{NSFontAttributeName:<LABEL_FONT>} context:nil];
return textRect.size.height + <PADDING_LABEL>;
//PADDING_LABEL = CELL_DEFAULT_HEIGHT-LABEL_DEFAULT_HEIGHT
}
关于ios - 如何在 iOS 中设置 UITableView 自定义单元格的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34173597/