1

私のメイン ビュー コントローラーには、UICollectionView (IB を使用して作成) があります。と:

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath: (NSIndexPath *)indexPath
{
 NSLog(@"Cell clicked....%d",[indexPath row]);
}

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView   cellForItemAtIndexPath:(NSIndexPath *)indexPath {

UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];


ChildView *calendar = [[ChildView alloc] initWithDate:newDate];
calendar.delegate         = self;
[cell.contentView addSubview:calendar];

return cell;

}

子ビューの境界の外側に触れると、イベントが発生します。子ビューがあるセル内に触れると、イベントはトラップされませんdidSelectCellAtRowIndex。なんで?

4

1 に答える 1

3

コレクション ビューは内部でタッチを処理するため、ビューのタッチ ハンドラーまたはジェスチャ レコグナイザーが優先されます。

于 2014-04-16T23:37:51.823 に答える