8

这是一个ViewControllerApush a ViewControllerB,并且在 theViewControllerBleftBarButtonItem设置如下:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backBtnClicked:)];

设置后leftBarButtonItem,后退滑动手势不起作用。是否可以保持滑动手势?

4

2 回答 2

23

因为您更改了左侧栏按钮项目,所以您告诉导航控制器停止管理用户可以采取的基于导航的后退操作。

要修复它,您可以使用以下命令告诉导航控制器继续接受当前视图控制器上的这些手势:

self.navigationController.interactivePopGestureRecognizer.delegate = self;

self如果您的视图控制器在哪里。

UIViewControllerprivately implements UIGestureRecognizerDelegate,因此您会收到警告,但您可以通过将协议一致性 ( <UIGestureRecognizerDelegate>) 添加到您的标头或类扩展中来缓解这种情况。

于 2014-03-07T06:20:25.623 回答
0

尝试将 interactivePopGestureRecognizer 设置为 nil

override func viewDidLoad() {
    super.viewDidLoad()
    self.interactivePopGestureRecognizer!.delegate = nil;

}
于 2016-01-31T20:20:38.777 回答