我正在使用GlyuckDataGrid用于多列表
此库不支持自行调整大小的单元格。
为了使其适用于动态宽度,我使用sizeWithFont...
方法基于最高(最长)textLabel宽度设置单元格宽度。
//Assuming max width = 200
func dataGridView(_ dataGridView: DataGridView, widthForColumn column: Int) -> CGFloat {
return dataSource.columnWidths[dataSource.header[column].key] ?? 0
}
func dataGridView(_ dataGridView: DataGridView, heightForRow row: Int) -> CGFloat {
return dataSource.rows[row].max(by: {$1.height > $0.height})?.height ?? 0
}
为了计算高度,我使用该特定行的max textLabel高度并将其应用于该行的每个组件。
这在大多数情况下完全正常,但有时细胞开始随机消失。当我向上/向下滚动一下时它会再次出现。
我尝试了在社区(http://ioscake.com/uicollectionviews-cell-disappearing.html)上发布的各种解决方案,并得出结论,这只有在layoutAttributesForElements(in rect: CGRect)
返回错误属性时才会发生。
在大多数情况下,似乎只有当行数超过100时才会发生。
如果你能帮助我,我真的很感激。