在视图控制器中,我正在构建一个图标网格。每个图标打开相同的弹出视图,但填充了不同的信息。
我正在以这种方式创建网格:
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,以便以更简单的方式禁用/启用?
非常感谢