我有tableView
一个自定义原型cell
。此cell
有三个labels
(标题,价格,详细信息),其中每个CoreData
使用heightForRow atIndexPath
加载文本,因此它们的高度不是常量。
{cellForRow atIndexPath
在cellForRow atIndexPath
之前执行,因此我只能为所有单元格设置一个高度。但是我需要它们都有不同的尺寸
我尝试过的是tableView.rowHeight
我得到了所有标签的高度并将其传递给{{1}}。不幸的是,它将所有单元格设置为具有相同的高度。
我的问题是:
是否有任何方法或方法可以单独设置每个单元格的高度,具体取决于显示内部所有标签所需的空间数量?
答案 0 :(得分:0)
在视图中尝试加载
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 44.0; // set to whatever your "average" cell height is
答案 1 :(得分:0)
我做的是:
- 从头开始设置约束(所有项目的边框到单元格的内容视图)
- 按照@ rv7284的建议使用:
tableView.estimatedRowHeight = 150
tableView.rowHeight = UITableViewAutomaticDimension
但有一点不同 - 不是viewDidLoad
而是viewWillAppear
所有标签在加载一些文本后都有宽度和高度,并将放在RAM中。