我有一个tableview。某些单元格包含图像和其他文本。
我希望能够折叠和展开单元格。为了能够做到这一点,我做了以下事情:
我创建了一个变量 isExpanded = true
在 cellForRowAt 我检查单元格是否包含文本然后...
if textIsExpanded {
cell.textLabel?.sizeToFit()
cell.textLabel?.numberOfLines = 0
}
这样单元格可以和里面的文本一样高。
在操作中,我切换 textIsExpanded
并重新加载表格:
textIsExpanded.toggle()
table.reloadData()
此过程完美适用于仅包含文本的 tableview。
一些有用的方法是扩展 if 语句并在 false 分支调用中:
cell.textLabel?.invalidateIntrinsicContentSize()
cell.textLabel?.layoutIfNeeded()
但是当我切换变量时这不起作用,这只在启动时起作用。
如何折叠和展开表格视图中的单元格?