UICollectionViewCell间距

时间:2013-12-13 17:30:14

标签: ios uicollectionview uicollectionviewcell uicollectionviewlayout

我有一个UICollectionView,在宽度上适合3个单元格(并垂直滚动)。当我改变设备的旋转时,集合视图会稍微伸展,并且单元格间距也会增加一些。然而,左边的单元格捕捉到左边距,右边的单元格捕捉到右边距,中心单元格保持居中。

我更喜欢两边都有一个边距,与单元格之间的距离相等,所以看起来间隔较小。

我尝试调用[collectionView setContentInset:UIEdgeInsetsMake(0, 10, 0, 10)];,但这只是向视图添加了一个水平滚动,而不是近似单元格。

如何在不改变滚动视图尺寸的情况下添加边距?

1 个答案:

答案 0 :(得分:0)

我明白了。我不得不添加这个委托方法:

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
  return UIInterfaceOrientationIsPortrait([self interfaceOrientation]) ? UIEdgeInsetsMake(0, 22, 0, 21) : UIEdgeInsetsMake(0, 0, 0, 0);
}

并刷新- willRotateToInterfaceOrientation:duration:上的集合视图:

  [[_collection collectionViewLayout] invalidateLayout];
  [_collection reloadData];