我有一个自定义的CollectionViewCell类,然后在CollectionView中生成了许多此类。然后,当触摸ViewCell时,我还添加了一种模式选择。激活模式搜索后,如何获取按下哪个单元格的ID(或索引路径)。

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

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

但是似乎没有调用此方法。任何人都可以帮助我,当CollectionViewCell具有模式搜索来获取索引路径时需要调用哪种方法。

谢谢,

最佳答案

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

如果要让collectionViewCell处理它,请通过禁用它们的行为来触发segue,使单元的子视图成为纯装饰性的。 (例如,如果它们是按钮,并且“touchUpInside”触发segue,则将其更改为完全不需触摸处理的视图。)

然后,触摸将在视图层次结构中向上传递,直到CollectionViewCell处理该触摸为止,这由collectionView:didSelectItemAtIndexPath:方法完成。

10-08 05:24