ios - 如何在 iOS 中设置 UITableView 自定义单元格的高度?

标签 ios xcode uitableview

我正在尝试制作一个消息传递应用程序。我有一个表格 View ,我必须在其中添加来自 JSON web 服务的所有消息。我正在为自定义单元格使用从 UITalbeViewCell 继承的自定义类。

我没有这个自定义类的任何 nib 文件。我只创建此类的对象并设置其消息标签文本并在“cellForRowAtIndexPath”委托(delegate)方法中作为单元格返回。

现在我面临一个问题,自定义类根据消息的长度返回完美的布局消息单元格,它的高度也很完美,但是当这个单元格添加到 UITableView 中时,行的高度不会自动设置为高度自定义单元格,这就是为什么较大的文本单元格重叠的原因。请在这方面帮助我如何设置自定义单元格的高度。

可以看到单元格重叠的错误图片

enter image description here

enter image description here

最佳答案

您需要为每个单元格 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/

相关文章:

javascript - 弹出窗口在 iPad safari 浏览器中无法正常工作

ios - iOS 中进程使用的虚拟内存?

ios - 从最后一个单元格开始 UITableView

xcode - 从扩展坞菜单中删除 Xcode 最近的项目

python - pycuda 失败; Theano 与 Anaconda

ios - 无法从 weather-api 获取 json。 iOS

iPhone - 保持表格 View 状态的最简单方法?

ios - 如何为 C++ 方法编写 Objective-C 包装器?

swift - 更改 UITableView 中的颜色单元格 以前记录的 Swift

ios - 如何动态设置tableview单元格高度?