use*_*946 13 iphone xcode ipad ios
我正在尝试创建一个滑动菜单(有点像在Facebook/Twitter应用程序中),我的版本成功地使用平移手势来实现此效果.该类称为"SlideMenu".
我在我的ViewController中实例化了一个SlideMenu,然后在其上添加了一堆UI元素作为子视图,例如UISliders,UIButtons等.
问题是,平移手势似乎会干扰UISlider,因为它会滑动,但在很短的距离后停止.我在答案上找到了一段代码(手势问题:UISwipeGestureRecognizer + UISlider)但是我不确定如何实现它或者它是否适用于我的设计.
代码是这样的:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UISlider class]]) {
// prevent recognizing touches on the slider
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我尝试将它添加到我的SliderMenu类和我的ViewController,但没有骰子.这是怎么回事?我必须设置什么代表(如果有的话)?谢谢
del*_*lds 14
基本上,在处理手势识别器的任何控制器或视图中.当您创建手势识别器时,您可以将其委托设置为某个对象(可能是您的视图控制器)并让此对象实现UIGestureRecognizerDelegate.其中一个委托回调是gestureRecognizer:shouldReceiveTouch,因此您只需将上面放置的代码复制到对象(视图控制器)的实现中.