UICollectionView - 滚动到第一个单元格

Ale*_*cez 17 ios uicollectionview uicollectionviewcell swift xcode6

我正在使用UICollectionView,我需要在单击按钮后滚动到第一个单元格.

该按钮位于我的集合视图中的(大)标题部分...当点击它时,我需要滚动到位于此按钮下方的第一个单元格.

我创建了这个按钮的动作,但我不知道如何滚动到第一个UICollectionViewCell.

有人能帮我吗?

Jac*_*nzo 46

使用此委托方法,将indexPath设置在第一个位置:

迅速

self.collectionView?.scrollToItemAtIndexPath(NSIndexPath(forItem: 0, inSection: 0), 
                                                atScrollPosition: .Top, 
                                                        animated: true)
Run Code Online (Sandbox Code Playgroud)

斯威夫特3

self.collectionView?.scrollToItem(at: IndexPath(row: 0, section: 0), 
                                  at: .top, 
                            animated: true)
Run Code Online (Sandbox Code Playgroud)

Objective-C的

[self.collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:0] 
                            atScrollPosition:UICollectionViewScrollPositionTop
                                    animated:YES];
Run Code Online (Sandbox Code Playgroud)

UICollectionViewScrollPositionTop如果要滚动并停在其他位置,请更改

  • 它应该是......(forItem:0,inSection:0)......如果你想要第一个项目 (3认同)
  • 这将滚动到第一个可见单元格,而不是集合视图中的第一个单元格. (2认同)

小智 8

可以使用UIScrollView相关属性

collectionView.contentOffset.x = 0
Run Code Online (Sandbox Code Playgroud)