View Controller で、アイコンのグリッドを構築しています。各アイコンは同じポップアップ ビューを開きますが、異なる情報が表示されます。
私はこの方法でグリッドを作成しています:
for (int i=0; i<NUM_BADGES; i++) {
BadgeThumbView *thumb = [[BadgeThumbView alloc] initWithFrame:CGRectMake(posX, posY, 70, 100)
andWithLabel:[NSString stringWithFormat:@"BADGE NAME N. %d", i]];
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onBadgeTapped:)];
[thumb addGestureRecognizer:gestureRecognizer];
[thumb setTag:i];
[more code here....]
}
onBadgeTapped メソッドでは、ポップアップを作成しています。今私の問題は、すべてが正常に機能することですが、ポップアップが開いているときに、そのボタンを操作しているときに、基になるビューコントローラーでジェスチャ認識エンジンをまだトリガーしていることに気付きました。
基になるビューですべての GestureRecognizers を無効にする方法はありますか? 私の戦略は間違っていますか?そして:簡単な方法で無効/有効にするために、すべてのアイコンに単一の UIGestureRecognizer を使用する方法はありますか?
どうもありがとう