如何在 UICollectionView
中获取水平流布局的实际 interItemSpacing
?我可以获得(和设置)的唯一信息是 minimumInteritemSpacing
。
为了以下小计算,我需要它始终在 Collection View 中显示 3 个等宽的项目,无论屏幕大小如何(我想将 minimumInteritemSpacing
替换为 interItemSpacing 的当前值公式):
flowLayout.itemSize = CGSizeMake((_collectionView.frame.size.width/3.0)-(flowLayout.minimumInteritemSpacing/3.0), _collectionView.frame.size.height);
我把这个计算放在 viewDidLayoutSubviews
并且它不能准确地用于某些屏幕,因为它们当前的 interItemSpacing
与 minimumInteritemSpacing
提前致谢。
最佳答案
您可以通过比较两个连续的单元格来获得实际间距
有点像
let firstIndex = IndexPath(item: 0, section: 0)
let secondIndex = IndexPath(item: 1, section: 0)
if let att1 = collectionView.layoutAttributesForItem(at: firstIndex),
let att2 = collectionView.layoutAttributesForItem(at: secondIndex) {
let actualSpace = att2.frame.minX - att1.frame.maxX
print (actualSpace)
}
关于ios - 获取实际的 UICollectionView 项目间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36598609/