当我在导航栏上从左向右滑动时,我的导航控制器会弹出一个视图控制器 . 我已经看了this question所以我知道我可以设置......
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
...但它只是禁用导航栏下方视图的滑动,而不是栏本身 .
我目前的解决方案是手动找到手势并禁用它 . 哪个有效,但不确定是否有's a better way. The navigation bar doesn'似乎有像 interactivePopGestureRecognizer
这样的属性 .
// This is inside a `UINavigationController` subclass.
for (UISwipeGestureRecognizer *gr in self.navigationBar.gestureRecognizers) {
if ([gr isKindOfClass:[UISwipeGestureRecognizer class]] && gr.direction == UISwipeGestureRecognizerDirectionRight) {
gr.enabled = NO;
}
}
1 回答
UIGestureRecognizerDelegate
有一个名为- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
的方法 . 如果您能够指出触摸的视图是否为UINavigationBar
,则只需返回 "NO" .这样的喜欢