我正在使用UICollectionView,我需要在点击按钮后滚动到第一个单元格。
按钮位于我的集合视图的(大)标题部分...当点击它时,我需要滚动到我的第一个位于此按钮下方的单元格。
我创建了此按钮的操作,但我不知道如何滚动到第一个UICollectionViewCell。
有人能帮助我吗?
答案 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)
(这会垂直滚动到顶部,但您可以根据需要轻松地将其滚动到左上角。)