启用在视图控制器上滑动,但在该VC中的视图中禁用

时间:2013-01-20 05:53:26

标签: ios uiview uiviewcontroller uigesturerecognizer

我有一个UIViewController,我有2个UISwipeGestureRecognizers处理撤消和重做(向右滑动以撤消,向左滑动到重做)。在这个VC中我还有一个UIView,它跟踪触摸开始/移动/结束以改变另一个UIView上的颜色。顺便说一句,撤消/重做与颜色变化有关。

我遇到的问题是,当我在换色器视图中执行触摸事件时,它们有时被解释为滑动并且正在进行撤消/重做。

如何仅针对相关UIView禁用滑动手势,但保留在VC的其他区域执行滑动的功能?

1 个答案:

答案 0 :(得分:1)

使视图控制器成为手势识别器的委托者,然后实现此委托方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {

    return touch.view != self.mySubviewToExclude;
}