检测UICollectionViewCell的部分

时间:2016-07-15 06:00:21

标签: ios swift uiscrollview uicollectionview uipagecontrol

我有自定义布局的UICollectionView,因此有一行项目正在滚动分页。还有一个多个部分,所以最终视图就像App Store的最终视图示例如下,

enter image description here

问题是,要在每个部分页脚中放置一个页面控件,它将检测部分的当前页面。我不知道如何检测女巫部分滚动视图偏移被更改。将感谢任何帮助或其他解决方案!

2 个答案:

答案 0 :(得分:1)

如果您希望它们独立滚动,则不能将图中红色突出显示的三个部分作为相同集合视图中的单独部分。滚动发生在整个集合视图中,而不是它的一个部分,除非你有一个非常复杂的布局子类。

拥有三个集合视图要简单得多,每个部分一个。

答案 1 :(得分:0)

您可以使用以下委托方法获取选择集合视图的部分和行。

// Swift
func collectionView(_ collectionView: UICollectionView,
didSelectItemAtIndexPath indexPath: NSIndexPath)

// Obj-C
- (void)collectionView:(UICollectionView *)collectionView
didSelectItemAtIndexPath:(NSIndexPath *)indexPath

此处,仅在选择单元格时才在委托上调用此方法。它返回indexPath。

indexPath 包含您现在要求的两个属性。

indexPath.row - 在部分中提供当前所选项目索引的项目。 indexPath.section - 在collectionView中使用当前部分

注意:计数从0开始,而不是从1开始。

所以,如果我选择" ComboCritters " (看上面的图片),我会得到0 indexPath.section 指的是我们喜欢的#34;新游戏! "并且,2表示 indexPath.row 表示已选择第3项。

而且,这就是你在应用中获得所选部分的方式。

亲切的问候,
Suman Adhikari