我从这里得到了相反的问题.默认情况下iOS7,UINavigationController堆栈的后滑动手势可以弹出呈现的内容ViewController.现在我只是穿着所有self.navigationItem.leftBarButtonItem风格的制服ViewControllers.
这是代码:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:LOADIMAGE(@"back_button") style:UIBarButtonItemStylePlain target:self action:@selector(popCurrentViewController)];
之后,navigationController.interactivePopGestureRecognizer被禁用.如何在不删除自定义的情况下启用弹出手势leftBarButtonItem?
谢谢!
objective-c uinavigationbar uinavigationcontroller uinavigationitem ios
我正在尝试禁用导航栏后退按钮项目(变为灰色并且不响应触摸).
我尝试了以下方法:
[self.navigationItem.backBarButtonItem setEnabled:NO];
哪个不起作用.禁用右键按钮项作为魅力.
令人惊讶的是,我无法在SO上找到类似的问题.最接近的一个是关于隐藏按钮(它工作顺便)但这不是那么优雅(或添加一个标签来覆盖按钮,防止触摸保持与后退按钮相同的颜色 - >也不是那么优雅:/) .
我应该提到视图控制器是一个表视图控制器,由另一个导航控制器推送.(即后退按钮是自动添加的,而不是通过IB或programmaticaly添加)
有任何想法吗 ?
In iOS apps, there is a default gesture that swipe from the left edge to right the app navigationController will pop view controller.
But is there a way to disable it for specific view?
当我在导航栏上从左向右滑动时,我的导航控制器会弹出一个视图控制器.我已经看过这个问题所以我知道我可以设置...
self.navigationController.interactivePopGestureRecognizer.enabled = NO; 
...但它只是禁用导航栏下方视图的滑动,而不是栏本身.
我目前的解决方案是手动找到手势并禁用它.哪个有效,但不确定是否有更好的方法.导航栏似乎没有像这样的属性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;
    }
}
uinavigationbar uinavigationcontroller uigesturerecognizer ios ios7
iOS 7采用新手势,在屏幕上从左向右滑动,作为UINavigationController中"后退"按钮的快捷方式.
我的应用程序似乎没有免费获取此行为.我需要做什么才能使这个手势可用于我的iOS应用程序(在iOS 5.1及更高版本的Xcode 4.6.3中构建)?
这是一篇有关视频的文章,从用户的角度来看,您想要了解iOS 7中的新手势.
答案可能与interactivePopGestureRecognizer有关,它是一个UIGestureRecognizer子类.
我想在滑动视图控制器时禁用弹出手势,但以下几行在 iOS 8 中不起作用:
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
提前致谢