1

カスタム CollectionViewCell クラスがあり、CollectionView 内でこれらの量を生成しました。次に、ViewCells に触れたときにモーダル セグエも追加しました。モーダルセグエがアクティブ化されたときに押されたセルの ID (またはインデックスパス) を取得するにはどうすればよいですか?

ここで、誰かが ViewCell.m ファイルにメソッドを追加することを提案したことを見ました

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

しかし、このメソッドは呼び出されていないようです。CollectionViewCell にインデックスパスを取得するためのモーダル セグエがある場合に、どのメソッドを呼び出す必要があるかについて、誰でも助けてくれますか。

ありがとう、

4

2 に答える 2

1

セルに追加したビューがセグエを起動してタッチを処理している場合、 がcollectionViewCellタッチを受け取る機会はありません。

で処理したい場合はcollectionViewCell、セグエを起動する動作を無効にして、セルのサブビューを純粋に装飾的にします。(たとえば、それらがボタンで " touchUpInside" がセグエを起動する場合、それらをタッチ処理のないビューに変更します)。

CollectionViewCell次に、メソッドで処理するまで、タッチはビュー階層を介して渡されますcollectionView:didSelectItemAtIndexPath:

于 2013-10-22T14:00:53.857 に答える
0

このメソッドは、コレクション ビュー オブジェクトのデリゲート クラスのコールバックです。

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

したがって、コレクション ビューのデリゲート クラスの .m ファイルに実装する必要があります。

于 2013-10-22T14:01:43.093 に答える