1

我在这样的视图上设置手势识别器(向右滑动):

[self.currentViewController.view addGestureRecognizer:self.swipeRecognizer];

但是,视图有一些响应触摸的 UIControls。它们是自定义开关,允许您通过平移它们来打开和关闭它们,就像 UISwitch 一样。因此,当您向右平移其中一个开关时,将调​​用滑动手势识别器。

我仍然想将滑动识别器保留在视图的其余部分,但是如果您正在触摸其中一个开关,我该如何取消它?

4

1 回答 1

4

在这里找到了一个很好的解决方案。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if (([touch.view isKindOfClass:[UIControl class]])) {
        return NO;
    }
    return YES;
}
于 2013-05-16T00:42:31.297 回答