首页 文章

选择单元格时,UICollectionView会滚动

提问于
浏览
8

当我尝试在UICollectionView中选择一个项目时,我遇到了麻烦,因为当我点击它时它会滚动一点点 .

我知道didSelectItemAtIndexPath正在调用,但我想在选择时阻止滚动 . 我只希望在用户滚动时滚动集合视图,但如果用户只是点击单元格则不应移动 . 只应该选择 .

我希望你能帮助我,因为我不知道如何防止这个问题 .

任何帮助将非常感激 .

4 回答

  • 4

    如果您使用 collectionview.selectItem(at: indexpath, animated: true, scrollPosition: .top) 以编程方式选择单元格 - 并且因为您没有't share any of your code with us, let' s假设这是正确的...

    ...然后像我一样你可能没有意识到你可以使用这样的空集: collectionview.selectItem(at: indexpath, animated: true, scrollPosition: [])

  • -2

    如果您启用了分页并且CollectionView被手动滚动到与预期页面边界不对齐的位置,则会发生这种情况 . 选择单元格时,它会调整以将CollectionView置于正确的页面边界 .

  • 37

    你可以试试这个:

    collectionView.selectItem(at: newIdexPath, animated: true, scrollPosition: UICollectionViewScrollPosition(rawValue: 0))
    
  • 1

    For Objective-C

    [self.collectionView selectItemAtIndexPath:path animated:NO scrollPosition:UICollectionViewScrollPositionNone]
    

    For Swift

    collectionview.selectItemAtIndexPath(indexPath: path, animated: false, scrollPosition: None)
    

相关问题