2017-07-17 13 views
0

私はこのようなストーリーボードの構造を有する:> CollectionView

TableView 
    Any View 
    CollectionView 
     CollectionViewCell 
      CellView 
     /CollectionViewCell 
    /CollectionView 
    Other views 
    . 
    . 
/TableView 

/ビュー

あなたが見ることができるように、私は2つのダイナミックコントロール(テーブルビューやコレクションを持っているがこのテーブルビュー内のビュー)、どのようにして、別のTableView内にあるCollectioView内の「CellView」のUITapを認識できますか?

私はUITapGestureRecognizerで試してみましたが、まったく動作しません。テーブルビューまたはコレクションビューのスクロールタップがCellViewのタップをオーバーライドするためです。

提案がありますか?

+0

を参照してください。これは、いくつかの次のレベルの発端スタイルのものは、それはないです... crikeyです。だから、あなたがテーブルビューを持っていることを確認し、各セルには別のテーブルビューとコレクションビューが含まれていますか? – Digitalsa1nt

+0

いいえ、私はちょうど私のビューコントローラのスクロールコンテンツ(これは動的なセルではない)を管理するための最初のテーブルビューを持っています、これは、私はUITapジェスチャーを取得したいセルを含むコレクションビューを持って –

+0

その場合は、tableviewの 'rowselect'を処理し、コレクションビューのセルを取得するタップの位置を決定してから、コレクションビューのitemselectedイベントを発生させる必要があります。これを手動で行う必要がある理由は、tableviewがタップ・イベントを「処理」し、トップ・レイヤーとしてバブル・ダウンしないためです。 – Digitalsa1nt

答えて

0

getcellをメソッドに何かをすることによって、あなたのCellViewへの参照を取得します。

UIView _cellView = yourCollection.ViewWithTag(yourViewTag); 

ユーザーとの対話を有効に

_cellView.UserInteractionEnabled = true; 

TapThat機能 を作成TapGestureRecogniserオブジェクト

UITapGestureRecognizer tapGesture = new UITapGestureRecognizer (TapThat); 
tapGesture.CancelsTouchesInView = false; 
tapGesture.NumberOfTouchesRequired = 1; 

を作成します。 //関数コード

最後に、ジェスチャ認識機能を追加します。 _cellView.AddGestureRecogniser(tapGesture);また

、詳細は以下の

Gesture Recognizer samples

Using a tap gesture

関連する問題