平移手势干扰UISlider

我试图创build一个滑动菜单(类似Facebook / Twitter应用程序),我的版本成功地使用平移手势来达到这个效果。 这个类被称为“SlideMenu”。

我在我的ViewController中实例化一个SlideMenu,然后添加一些UI元素作为它的子视图,比如UISliders,UIButtons等等。

问题是,平底锅手势似乎与UISlider干涉,因为它会滑动,但在很短的距离后停止。 我find了一个答案( 手势问题:UISwipeGestureRecognizer + UISlider )的一段代码,但是我不确定如何实现它,或者如果它适用于我的devise。

代码是这样的:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { if ([touch.view isKindOfClass:[UISlider class]]) { // prevent recognizing touches on the slider return NO; } return YES; } 

我试图将其添加到我的SliderMenu类和我的ViewController,但没有骰子。 这去哪了? 我必须设置什么代表(如果有的话)?谢谢

基本上,无论在哪个控制器或视图中,您都在处理手势识别器。 在创build手势识别器时,可以将其委托设置为某个对象(可能是您的视图控制器),并使该对象实现UIGestureRecognizerDelegate 。 其中一个代表gestureRecognizer:shouldReceiveTouchgestureRecognizer:shouldReceiveTouch ,因此您只需将上面放置的代码复制到对象的(视图控制器)实现中。