获取UICollectionViewCell的indexPath

时间:2013-10-22 13:53:45

标签: ios objective-c uicollectionview uicollectionviewcell

我有一个自定义的CollectionViewCell类,然后我在CollectionView中生成了一些这些类。然后,当触摸ViewCell时,我还添加了一个模态segue。当模态segue被激活时,如何获得按下哪个单元格的id(或索引路径)。

我在这里看到有人建议我在ViewCell.m文件中添加方法

-(void)collectionView: (UICollectionView*)collectionView didSelectItemAtIndexPath:   (NSIndexPath*)indexPath{
//get indexpath variable in here
}

但是这种方法似乎没有被调用。任何人都可以帮我解决当CollectionViewCell有一个模态segue来获取索引路径时需要调用的方法。

谢谢,

2 个答案:

答案 0 :(得分:1)

如果您添加到单元格中的视图通过触发segue来处理触摸,则collectionViewCell永远不会有机会接触到触摸。

如果您希望collectionViewCell处理它,请通过禁用其触发segue的行为,使您的单元格的子视图完全具有装饰性。 (例如,如果它们是按钮并且“touchUpInside”触发segue,则将它们更改为视图而根本没有触摸处理。)。

然后触摸将通过视图层次结构向上传递,直到CollectionViewCell处理它,这与collectionView:didSelectItemAtIndexPath:方法一样。

答案 1 :(得分:0)

该方法是集合视图对象的委托类的回调:

-(void)collectionView: (UICollectionView*)collectionView didSelectItemAtIndexPath:   (NSIndexPath*)indexPath

因此,您应该在集合视图的委托类的.m文件中实现。