我有一个连接了UIPanGestureRecognizer的UIView。我在UIView中也有一个对象,它有多个UISwipeGestureRecognizers。
与对象关联的UIPanGestureRecognizer和UISwipeGestureRecognizers重叠。
有没有办法让UIPanGestureRecognizer完全忽略UIView的某个区域,或者让对象的UISwipeGestureRecognizers优先并覆盖UIView's UIPanGestureRecognizer
发布于 2012-08-03 05:21:40
使用这个委托方法解决了这个问题:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if ([touch.view isKindOfClass:[UIButton class]] && gestureRecognizer == recognizer) return NO;
return YES;
}感谢您为我指明了正确的方向@MikeS
发布于 2012-08-02 03:16:02
你想要的是。
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
if(gestureRecognizer == myPanGesture) return NO;
return YES;
}或该委托方法的类似用法。它是UIGestureRecognizerDelegate协议的一部分。这将允许您在滑动时无法识别平移。
发布于 2012-10-18 20:14:52
非常感谢你的回答,这对我的问题很有帮助。
我只想分享我的解决方案,因为它可能会有帮助:
-(BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
NSLog2(@"Gesture on Class %@ tag %i", [touch.view class], touch.view.tag);////////
if (touch.view.tag == kTagToIgnoreGestures){
return NO;
}
return YES;}
我定义了一个kTagToIgnoreGestures,它是应该忽略手势的视图标记。这样,我就可以在一个UIGestureRecognizer视图中有两个子视图,只有一个子视图会受到手势的影响。
希望能有所帮助。Shefy
https://stackoverflow.com/questions/11764271
复制相似问题