[英]How to disable swipe gesture recognizer from TabBar controller
我正在使用11个Tab项目。 在4个选项卡项之后,它将显示更多菜单,当我单击“更多”按钮时,将显示其余的选项卡列表-这就是它的工作方式。
我的问题是,当我从屏幕左侧滑动时,此“更多”标签列表正在填充。 如何避免这种情况?
您可以在标签栏控制器中浏览手势并禁用滑动
for gesture in tabBarController.view.gestureRecognizers! {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
if (swipeGesture.direction == .Left) {
swipeGesture.enabled = false
print("disabled")
}
}
}
这里的tabBarController
是标签栏控制器的有效实例。
您可能需要对.Left
和.Right
进行一些试验和错误,然后仅在控制器的视图或子视图之一上运行它,但这肯定会禁用手势。
另外,尽管不太可能,但请注意沿同一方向的多个滑动手势,如果有,请确保仅禁用相关的手势。
在ObjC中:
for (UIGestureRecognizer *gesture in tabBarController.view.gestureRecognizers) {
if([gesture isKindOfClass:[UISwipeGestureRecognizer class]]) {
if(((UISwipeGestureRecognizer *)gesture).direction == UISwipeGestureRecognizerDirectionLeft) {
gesture.enabled = false;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.