在集合视图中分页不能正确居中

Nir*_*rma 7 ios uicollectionview

我有一个启用了分页的UICollectionView,并且水平移动的各个视图没有正确居中.我确保视图宽度与屏幕相同.

有关如何强制UICollectionView水平分页视图的任何指针?

CEa*_*ood 3

您必须确保您的部分插入+行距+单元格宽度全部等于CollectionView的边界。我在自定义 UICollectionViewFlowLayout 子类上使用以下方法:

- (void)adjustSpacingForBounds:(CGRect)newBounds {
  NSInteger count = newBounds.size.width / self.itemSize.width - 1;

  CGFloat spacing = (newBounds.size.width - (self.itemSize.width * count)) / count;

  self.minimumLineSpacing = spacing;

  UIEdgeInsets insets = self.sectionInset;
  insets.left = spacing/2.0f;
  self.sectionInset = insets;
}
Run Code Online (Sandbox Code Playgroud)

您必须记住,UICollectionView 只是 UIScrollView 的子类,因此它不知道您希望分页如何工作。在 UICollectionView 之前,在布局 UIScrollView 的子视图时,您必须处理所有这些数学问题。