2016-09-14 96 views
4

我有一个CollectionViewController并有10个单元格。CollectionView滚动到顶部

但是,当我运行应用程序时,它显示底部的单元格,但我想从viewDidLoad的顶部单元格显示它。

我尝试了很多东西,但没有奏效。

如何解决?

+1

请分享你的代码.. –

+0

我用这,https://cocoapods.org/pods/SFFocusViewLayout。 @PoojaSrivastava – KAR

+0

@KAR请分享您想要获得什么类型的collectionviewcell的代码和屏幕截图?像什么问题? –

回答

2

重装集合视图后添加此行。

[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO]; 

编辑:

只是想在这里补充一个多一点是,如果数据源的CollectionView具有零个元素,或者是nil那么上面的代码将无法正常工作,可能崩溃的应用程序。

写入条件来检查数据源是否可用!

if (self.dataArray.count > 0) { 
    [self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO]; 
} 

其中,dataArray是您的数据源。

+0

如果你觉得这个问题会对别人有帮助,而不是提问。 @Aisha – KAR

+0

@KAR是的当然.. – User511

+0

感谢您的赞赏。 @Aisha – KAR

-2

要在顶部的CollectionView单元格中显示的数据,您可以使用一种方法

[collectionView setScrollsToTop:YES]; 

希望它会帮助你。

0

请试试这个

[self.yourcollectionview scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO]; 
+0

在哪里添加这一行? @Monika patel – KAR

+0

@KAR:在'[self.collectionview reloaddata]后面加上这一行;' –

+0

@KAR:请投票回答我的问题。如果我的回答对你有用 –

3

在SWIFT 3:后reloadData()

self.collectionView.setContentOffset(CGPoint(x:0,y:0), animated: true)