[英]disable UIPageViewController gesture recognizer while in Handing longPressed gesture
我有一个UIPageViewController,每个页面在页面上包含多个UIView,每个UIView在longPress手势之后允许Pan手势,我在contentVC中使用以下委托,但似乎pageVC不在乎我在下面的限制,并且它继续翻转这一页! 在平移时是否必须做任何事情来禁用翻页功能? (最后一招是在PageVC上设置一个变量,例如canTurn,并在平移进行时将其设置为NO。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
if ([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]] &&
[otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
return YES;
}
return NO;
}
您应该在PageVC本身中添加-gestureRecognizer:shouldReceiveTouch:
方法,或者如果您不想在PageVC本身中添加它,则可以让委托来处理它。
喜欢:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if(someCase)
{
return yes;
}
return no;
}
要么
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
return [delegate shouldHandle:.....];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.