Ios CollectionView滚动至顶部
我有一个CollectionViewController,里面有10个单元格 但当我运行应用程序时,它会在底部显示单元格,但我想在viewDidLoad的顶部单元格中显示它 我尝试了很多东西,但都不管用Ios CollectionView滚动至顶部,ios,objective-c,xcode,scroll,uicollectionview,Ios,Objective C,Xcode,Scroll,Uicollectionview,我有一个CollectionViewController,里面有10个单元格 但当我运行应用程序时,它会在底部显示单元格,但我想在viewDidLoad的顶部单元格中显示它 我尝试了很多东西,但都不管用 如何修复它?要在collectionView中显示顶部单元格中的数据,可以使用一种方法 [collectionView setScrollsToTop:YES]; 希望它能帮助你。请试试这个 [self.yourcollectionview scrollToItemAtIndexPath:in
如何修复它?要在collectionView中显示顶部单元格中的数据,可以使用一种方法
[collectionView setScrollsToTop:YES];
希望它能帮助你。请试试这个
[self.yourcollectionview scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO];
在重新加载集合视图后添加此行
[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO];
编辑:
这里只想补充一点,如果collectionView数据源没有元素,或者它是nil
,那么上面的代码将无法工作,并且可能会使您的应用程序崩溃
写入条件以检查数据源是否可用
if (self.dataArray.count > 0) {
[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO];
}
其中,
dataArray
是您的数据源。在swift3:after reloadData()中
在重新加载集合视图后添加以下代码: swift
yourCollectionView.setContentOffset(CGPoint.zero,动画:true)
目标-c
[yourCollectionView setContentOffset:CGPointZero动画:是]代码>使动画选项为false。可能某些视图动画正在集合视图动画过程中运行
collectionView.scrollToItem(at: indexPath, at: .top, animated: false)
它的工作很好
collectionView.setContentOffset(.zero, animated: false)
Swift 4 Swift 5
事实上,这是我们要做的工作
collectionView.setContentOffset(.zero, animated: false)
但是,如果CollectionView实现了.contentInset
或外部边距,假设边距顶部和底部设置为16
,则此代码实际上会返回顶部
collectionView.setContentOffset(CGPoint(x: 0, y: -16), animated: true)
请分享你的代码。我正在使用这个@PoojaSrivastava@KAR请分享您想要获得的collectionviewcell类型的一些代码和屏幕截图?问题是什么?你在Swift工作吗?不,目标c@请在此处添加此行@莫妮卡patel@KAR:在[self.collectionview reloaddata]之后添加此行代码>@KAR:请投票表决我的答案。如果我的回答对你有用,请把这个问题投上一票,这样对别人会有帮助@莫妮卡·帕特尔诺。视图在我将其旋转180度之前工作正常。然后从底部显示细胞。我翻转视图以将动画效果更改为相反@莫妮卡·帕特利夫:如果你觉得这个问题会对其他人有所帮助,而不是对这个问题投赞成票@AISHAW也与Swift 4+合作
collectionView.setContentOffset(CGPoint(x: 0, y: -16), animated: true)