如何从导航栏中删除 UISwipeGestureRecognizer

Posted

技术标签:

【中文标题】如何从导航栏中删除 UISwipeGestureRecognizer【英文标题】:How to remove UISwipeGestureRecognizer From Navigation bar 【发布时间】:2014-02-05 14:45:26 【问题描述】:

我的问题与 UISwipeGestureRecognizer 有关。我添加 UISwipeGestureRecognizer 以切换第一个屏幕的菜单屏幕。这是我的代码

UISwipeGestureRecognizer *gestureRecognizernavle = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(toggleMenu)];
[gestureRecognizernavle setDirection:(UISwipeGestureRecognizerDirectionLeft)];
[self.navigationController.navigationBar addGestureRecognizer:gestureRecognizernavle];

但是在下一个视图上交换导航栏时调用了相同的函数。 我将以下代码用于删除 SwipeGestureRecognizer

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) 
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;

但是这段代码不起作用。你能帮帮我吗?

【问题讨论】:

【参考方案1】:

使用以下代码从导航栏中删除手势识别器。

while (self.navigationController.navigationBar.gestureRecognizers.count) 
    [self.navigationController.navigationBar  removeGestureRecognizer:[self.navigationController.navigationBar.gestureRecognizers objectAtIndex:0]];

它将从导航栏中删除所有手势识别器,如果您想删除一些,您可以设置条件。

享受。 :)

【讨论】:

以上是关于如何从导航栏中删除 UISwipeGestureRecognizer的主要内容,如果未能解决你的问题,请参考以下文章

如何从导航栏中删除 UISwipeGestureRecognizer

登录后如何从导航栏中删除登录按钮

如何从自定义导航栏中删除这条黑线

有人知道如何从导航栏中删除不需要的动画吗?截图

从 SwiftUI 中的导航栏中删除后退按钮文本

iOS:从导航栏中删除以编程方式添加的搜索栏