添加leftBarButtonItem时,后滑动手势不起作用

时间:2014-03-06 11:34:27

标签: objective-c ios7 uibarbuttonitem backbarbuttonitem

以下是ViewControllerA推送ViewControllerBViewControllerB leftBarButtonItem设置如下:

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

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

2 个答案:

答案 0 :(得分:22)

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

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

self.navigationController.interactivePopGestureRecognizer.delegate = self;

self如果您的视图控制器。

UIViewController私下实施UIGestureRecognizerDelegate,因此您会收到警告,但您可以通过在标头中添加协议一致性(<UIGestureRecognizerDelegate>)来缓解此问题,或者类扩展。

答案 1 :(得分:0)

尝试将interactivePopGestureRecognizer设置为nil

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

}