在View Controller中,我構建了一個圖標網格。 每個圖標都會打開相同的彈出視圖,但會填入不同的信息。禁用底層ViewController中的UIGestureRecognizers
我用這種方法創建的網格:
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,以便以更簡單的方式禁用/啓用?
非常感謝
如果有幫助,我有一個例子[github](https://github.com/NSPostWhenIdle/photoGrid),它使用UIButton來簡單實現。 –