Ios UICollectionView滚动到特定部分

Ios UICollectionView滚动到特定部分,ios,objective-c,uicollectionview,Ios,Objective C,Uicollectionview,使用Objective C和Xcode,我创建了一个包含10个部分的UICollectionView,所有工作正常。是否有设置第一次显示时要查看的部分?默认情况下,它显示第0-9节,但我希望它从第5节开始。您可以在视图中调用scrollToItemAtIndexPath:atScrollPosition:animated:方法 您可以保留对要滚动到的单元格的引用,然后使用indexPathForCell:获取索引路径 以下是您可以选择的滚动位置 UICollectionViewScrollPos

使用Objective C和Xcode,我创建了一个包含10个部分的
UICollectionView
,所有工作正常。是否有设置第一次显示时要查看的部分?默认情况下,它显示第0-9节,但我希望它从第5节开始。

您可以在
视图中调用
scrollToItemAtIndexPath:atScrollPosition:animated:
方法

您可以保留对要滚动到的单元格的引用,然后使用
indexPathForCell:
获取索引路径

以下是您可以选择的滚动位置

UICollectionViewScrollPositionNone
UICollectionViewScrollPositionTop
UICollectionViewScrollPositionCenteredVertically
UICollectionViewScrollPositionBottom
UICollectionViewScrollPositionLeft
UICollectionViewScrollPositionCenteredHorizontally
UICollectionViewScrollPositionRight

如果您知道要按整数行和节滚动到哪里,可以在

NSIndexPath indexPathForItem:inSection:

方法创建NSIndexPath,而不是保留对单元格的引用,然后调用indexPathForCell:。此外,如果希望在显示视图之前滚动,可以将此代码移动到ViewWillDisplay:方法。

如果该特定部分没有项目,只有标题视图,该怎么办?如果启用分页,我发现这不起作用。scrollToItemAtIndexPath始终将单元格定位在请求的位置,而您需要的是将页面居中(就像手动滚动一样)。如果页面中央没有单元格,这似乎是不可能的。