单元格从UICollectionView中消失

时间:2017-12-14 05:33:47

标签: ios swift uicollectionview uikit

我正在使用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时才会发生。

如果你能帮助我,我真的很感激。

0 个答案:

没有答案