我正在这样的视图上设置手势识别器(向右滑动):
[self.currentViewController.view addGestureRecognizer:self.swipeRecognizer];
但是,该视图有一些响应触摸的UIControl。它们是自定义开关,允许您通过平移它们来打开和关闭它们,就像UISwitch一样。因此,当您将其中一个开关平移到右侧时,将调用滑动手势识别器。
我仍然希望将滑动识别器保留在视图的其余部分,但如果您触摸其中一个开关,我该如何取消它?
答案 0 :(得分:4)
找到了一个很好的解决方案here。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if (([touch.view isKindOfClass:[UIControl class]])) {
return NO;
}
return YES;
}