我有一个UIViewController,我有2个UISwipeGestureRecognizers处理撤消和重做(向右滑动以撤消,向左滑动到重做)。在这个VC中我还有一个UIView,它跟踪触摸开始/移动/结束以改变另一个UIView上的颜色。顺便说一句,撤消/重做与颜色变化有关。
我遇到的问题是,当我在换色器视图中执行触摸事件时,它们有时被解释为滑动并且正在进行撤消/重做。
如何仅针对相关UIView禁用滑动手势,但保留在VC的其他区域执行滑动的功能?
答案 0 :(得分:1)
使视图控制器成为手势识别器的委托者,然后实现此委托方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
return touch.view != self.mySubviewToExclude;
}