UICollectionView - 滚动到第一个单元格

时间:2015-08-28 02:45:28

标签: ios swift xcode6 uicollectionview uicollectionviewcell

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

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

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

有人能帮助我吗?

7 个答案:

答案 0 :(得分:6)

可以使用UIScrollView相关属性

collectionView.contentOffset.x = 0

答案 1 :(得分:2)

You can use this for Objective - C

        [self.restaurantCollectionView setContentOffset:CGPointZero animated:YES];

答案 2 :(得分:2)

以下解决方案适用于我:

UIView.animate(withDuration: 0.5, animations: {
     self.collectionView?.contentOffset.x = 0
})

它滚动到第一个项目,也可以看到contentInset。

答案 3 :(得分:0)

默认CollectionView Delgeate ...

- (void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated;

答案 4 :(得分:0)

if let indexPath = self.collectionView?.indexPathForItem(at: CGPoint(x: 0, y: 0)) {
            self.collectionView?.scrollToItem(at: indexPath, at: .top, animated: false)
}

答案 5 :(得分:0)

 scrollView.setContentOffset(CGPoint(x: 0.0, y: 0.0), animated: true)

答案 6 :(得分:0)

我发现它可以在所有设备上可靠地工作,并且可以正确处理iPhone X样式的安全区域。

let top = CGPoint(x: collectionView.contentOffset.x,
                  y: collectionView.adjustedContentInset.top)
collectionView.setContentOffset(top, animated: false)

(这会垂直滚动到顶部,但您可以根据需要轻松地将其滚动到左上角。)