iOS:UICollectionView在单元格之间停止

iOS:UICollectionView在单元格之间停止,ios,objective-c,uicollectionview,uicollectionviewcell,Ios,Objective C,Uicollectionview,Uicollectionviewcell,我正在实现UICollectionView,但当我滚动UICollectionView时,它会在单元格之间停止: 以下是muy代码: - (void)viewDidLoad { [super viewDidLoad]; UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; [layout setItemSize:CGSizeMake(self.view.frame

我正在实现UICollectionView,但当我滚动UICollectionView时,它会在单元格之间停止:

以下是muy代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout  alloc] init];
    [layout setItemSize:CGSizeMake(self.view.frame.size.width, self.view.frame.size.height)];
    layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    [self.collectionView setCollectionViewLayout:layout];
    self.collectionView.bounces = YES;
    self.collectionView.allowsMultipleSelection = YES;
    self.collectionView.semanticContentAttribute = UISemanticContentAttributeForceLeftToRight;
}
我想问你们的问题是如何停止UICollectionView以查看整个单元格


非常感谢您的帮助。

要一次滚动一个单元格,可以使用PaginEnabled=YES,并将单元格之间的填充设置为零:

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionView *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section   {

    return 0; // No space between cells
  }

检查问题的答案,以获得关于同一主题的详细讨论。

正确的方法是使用targetContentOffsetforProposedContentOffset:WithCrollingvelocit:

基本上,您计算希望集合视图结束的偏移量,因此您希望根据指定的偏移量和速度确定最近单元的偏移量

这可能是一项复杂的任务,但我发现有几个地方可以解释整个事情

您可以查看他们在哪里解释如何构建自己的实现

这可能也是有用的,即使它解释了如何将中间的细胞集中起来,它应该能够被修改来适应这个用例。

我希望这有帮助

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionView *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section   {

    return 20; // No space between cells
  }

使用此委托方法并在collectionView中的节之间添加空格。

当它停止时,应用程序会崩溃吗?@TejaNandamuri,它不会崩溃,但我看到两个半单元格,正如您可以看到的,灰色线是单元格之间的分隔线。我只想显示完整的单元,您需要在故事板中将单元宽度设置为collectionView宽度。同时将填充设置为0。还在寻找答案吗?你知道怎样才能使分隔线消失吗?分隔线并不仅仅显示在第一个单元格中。但其余的细胞仍然显示出这条线