ios - 获取实际的 UICollectionView 项目间距

标签 ios iphone uicollectionview cellspacing

如何在 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 并且它不能准确地用于某些屏幕,因为它们当前的 interItemSpacingminimumInteritemSpacing

不同

提前致谢。

最佳答案

您可以通过比较两个连续的单元格来获得实际间距

有点像

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/

相关文章:

ios - 通过 POST 使用 manager.request

ios - ios7中的日期格式问题

ios - 显示 YouTube 注释 - iOS 应用程序

iphone - Tomcat 不解码 URL 编码字符串

ios - cocos2D中的CCProgressTimer

iphone - 如何知道controller是在presentModalViewController中还是在pushViewController中?

iphone - 尝试通过 iPhone 模拟器播放声音

ios - 显示从 url 到 Collection View Swift 单元格的 3 张图像

ios - 自定义 Collection View 单元格: content under margin height not visible

swift - 如何在 tvOS 中将 UITableViewCell 中的 UICollectionViewCell 聚焦?