我正在使用11个Tab项目。在4个标签项之后,它将显示更多菜单,当我点击“更多”按钮时,将显示剩余标签列表 - 这是它应该如何工作。
我的问题是当我从屏幕左侧滑动时,这个“更多”标签列表正在填充。我怎么能避免这个?
答案 0 :(得分:1)
您可以在标签栏控制器中迭代手势并禁用滑动
for gesture in tabBarController.view.gestureRecognizers! {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
if (swipeGesture.direction == .Left) {
swipeGesture.enabled = false
print("disabled")
}
}
}
此处tabBarController
是标签栏控制器的有效实例。
您可能需要对.Left
vs .Right
进行一些试验和错误,并且仅在控制器的视图或其中一个子视图上运行此操作,但这肯定会禁用此操作
此外,虽然不太可能,但要注意同一方向的多次滑动手势,如果有,请确保仅禁用相关的手势。
在ObjC中:
for (UIGestureRecognizer *gesture in tabBarController.view.gestureRecognizers) {
if([gesture isKindOfClass:[UISwipeGestureRecognizer class]]) {
if(((UISwipeGestureRecognizer *)gesture).direction == UISwipeGestureRecognizerDirectionLeft) {
gesture.enabled = false;
}
}
}