Ios UICollectionViewCell间距

Ios UICollectionViewCell间距,ios,uicollectionview,uicollectionviewcell,uicollectionviewlayout,Ios,Uicollectionview,Uicollectionviewcell,Uicollectionviewlayout,我有一个UICollectionView,它在宽度上适合3个单元格(并垂直滚动)。当我更改设备的旋转时,集合视图会稍微拉伸,单元格间距也会稍微增大。但是,左单元格捕捉到左边框,右单元格捕捉到右边框,中心单元格保持居中 我更喜欢两边都有一个边距,与单元格之间的距离相等,这样看起来间隔就小一些 我尝试调用[collectionView setContentInset:UIEdgeInsetsMake(0,10,0,10)],但这只是在视图中添加了一个水平滚动,而不是近似单元格 如何在不改变滚动视图大

我有一个UICollectionView,它在宽度上适合3个单元格(并垂直滚动)。当我更改设备的旋转时,集合视图会稍微拉伸,单元格间距也会稍微增大。但是,左单元格捕捉到左边框,右单元格捕捉到右边框,中心单元格保持居中

我更喜欢两边都有一个边距,与单元格之间的距离相等,这样看起来间隔就小一些

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


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

我找到了答案。我必须添加此委托方法:

- (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];