2017-01-30 35 views
0

私はグリッドベースのゲーム(掃海艇のようなもの)に取り組んでいます。これは、カスタムUICollectionViewCellセルのセットを含むUICollectionViewを使用して表示している2次元グリッドです。速いイオスアプリでジェスチャー認識機能を追加するためのベスト原則

私は個々のセルのイベントに触れることができるようにしたい。 UITapGestureRecognizer()を各セル(20x20ボード上)に追加するのはいいですか?それとも良い方法がありますか?私はこれを使用すると、単一のタップのために働くこと・アフマドの回答から理解

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
    print(indexPath.row) 
} 

はしかし、私は、細胞上の対シングル、ダブルタップのためのさまざまなイベントハンドラをしたいです。

答えて

0

ベースコンテナをUICollectionView(いいアイデアだと思います)にしたい場合は、UITapGestureRecognizerを追加する必要があります。クラス(コントローラ)にUICollectionViewDelegate代理人に準拠し、collectionView:didSelectItemAtIndexPath:を実装しています。

また、このメソッドを実装するときに、あなたが買ってあげる利点は、簡単に次のように、選択したセルのindexPath.rowが何であるかを確認することで、選択されたセルを決定することができます:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
    print(indexPath.row) 
} 

class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource { //... 

EDIT:

に忘れてはいけません10

ダブルビュー機能をコレクションビューに追加する場合は、this answerにチェックを入れてください。

これが役に立った。

+0

答えに私の編集を確認してください –

+0

ありがとうございます。これは非常に便利でした。とても有難い。 – sridhar

+0

@sridhar喜んで助けてください。 btw、この答えがあなたの質問のための正しいものであればそれを受け入れるべきです、それはあなたに+2点を与え、+15点を与えます。最も重要なのは、これが解決策であることを視聴者に知らせることです。 –

関連する問題