UICollectionViewFlowLayout minimumInteritemSpacing不起作用

我的UICollectionView有两个问题:

  • minimumInteritemSpacing不起作用
  • 它在iOS 6上水平溢出

我设置了这样的布局:

 UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; layout.itemSize = CGSizeMake(70.0f, 70.0f); layout.scrollDirection = UICollectionViewScrollDirectionVertical; layout.minimumLineSpacing = 0.0f; layout.minimumInteritemSpacing = 0.0f; _collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; // I set the size of _collectionView in layoutSubviews: // _collectionView.frame = self.bounds; _collectionView.contentInset = UIEdgeInsetsMake(8.0f, 8.0f, 8.0f, 8.0f); 

该图显示了iOS 6上的结果(在iOS 7上没有溢出,但列之间的间距仍然不为零)

在这里输入图像说明

我试过这个解决schemehttps://gist.github.com/OliverLetterer/5583087 ,但它不能解决我的情况。

minimumInterItemSpacing属性的文档:

对于水平滚动网格,此值表示同一列中的项目之间的最小间距。 这个间距用于计算一条线上可以放入多less物品,但是在物品数量确定之后, 实际间距可能会向上调整。

stream布局将在其宽度上均匀地放置单元格,间距不得小于所设置的最小值。 如果你不想要间距,你需要实现自己的布局。

我不确定的iOS 6溢出问题。 尝试放弃对iOS 6的支持;)