A push B push C在C中不需要加以下代码
在A视图中增加下面代码
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
在Apush到B前加上
//防止自定义左返回按钮后左滑返回手势消失
if ([wself.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)])
{
wself.navigationController.interactivePopGestureRecognizer.enabled = YES;
wself.navigationController.interactivePopGestureRecognizer.delegate = nil;
}
[wself.navigationController pushViewController:billingSelectedController animated:YES];
在b视图中自定义导航返回按钮
-(void)createBackBarBtn{
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(0, 0, 40, 40);
[btn setImageEdgeInsets:UIEdgeInsetsMake(0,-30, 0, 0)];
[btn setImage:[UIImage imageNamed:@"backBt"] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
}
注意:在该句
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
代码只能在A中写,如果在他的子视图中加入可能会引起滑动手势取消