以下是ViewControllerA
推送ViewControllerB
,ViewControllerB
leftBarButtonItem
设置如下:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backBtnClicked:)];
设置leftBarButtonItem
后,后退滑动手势不起作用。是否可以保持滑动手势?
答案 0 :(得分:22)
因为您更改了左栏按钮项,所以您告诉导航控制器停止管理用户可以采取的基于导航的反向操作。
要修复它,您可以告诉导航控制器使用以下命令继续接受当前视图控制器上的那些手势:
self.navigationController.interactivePopGestureRecognizer.delegate = self;
self
如果您的视图控制器。
UIViewController
私下实施UIGestureRecognizerDelegate
,因此您会收到警告,但您可以通过在标头中添加协议一致性(<UIGestureRecognizerDelegate>
)来缓解此问题,或者类扩展。
答案 1 :(得分:0)
尝试将interactivePopGestureRecognizer设置为nil
override func viewDidLoad() {
super.viewDidLoad()
self.interactivePopGestureRecognizer!.delegate = nil;
}