如何在iOS 8中禁用UINavigationController的后退手势?

4
self.navigationController.interactivePopGestureRecognizer.enabled = NO;

这行代码在iOS 8中似乎不再起作用。将其放置在viewDidLoad方法中仍然启用了导航控制器的返回手势。有什么想法吗?


你有什么特别的原因要禁用这个流行功能吗? - Daniel Galasko
1
是的,我正在使用侧面板,有时手势会混淆(因此当返回到中央面板时,它有时会将其解释为向后滑动到上一个视图,这不是我想要的)。 - Eric Gao
我的解决方案不能解决这个问题吗?没有公共API可以禁用它 :) - Daniel Galasko
1
这在我的iOS 8上完美运行。你的 self.navigationController 设置了吗? - Dannie P
1个回答

1
设置自定义返回按钮图像通常就能解决问题。
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
    initWithTitle:@""
    style:UIBarButtonItemStylePlain
    target:nil
    action:nil];

作为旁注,我通常建议不要打破内置的行为,特别是因为大多数iOS用户非常熟悉和习惯这些手势。去掉它们只会不必要地让用户感到沮丧。
因此,如果您正在使用系统标准导航栏,则人们肯定期望系统标准行为。如果您不想要这些行为,则最好自定义UI:在这种情况下,这意味着使用自己的导航栏并将导航控制器的栏设置为隐藏。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接