设置全局后退按钮,要写一个基类 ,继承自UINavigationController;
这里就以leftBarButtonItems 为例, 其他也是一样的;
单个的也能设置哦!!!
///重写push方法 push的控制器隐藏tabbar
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
// 隐藏tabbar
viewController.hidesBottomBarWhenPushed =YES;
//1.添加后退按钮
[selfaddBackButton:viewController];
[superpushViewController:viewControlleranimated:animated];
}
//2 自定义后退按钮
- (void)addBackButton:(UIViewController *)viewController {
//开启手势后退
// self.interactivePopGestureRecognizer.delegate = (id)self;
//开启手势滑动后退
if ([selfrespondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.interactivePopGestureRecognizer.enabled = YES;
}
UIBarButtonItem *back = [[UIBarButtonItemalloc] initWithImage:[UIImageimageNamed:@"backImage"]style:UIBarButtonItemStylePlaintarget:selfaction:@selector(backClick)];
//间距
UIBarButtonItem *fixed = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpacetarget:nilaction:nil];
fixed.width = -10;
viewController.navigationItem.leftBarButtonItems =@[fixed,back];
}
//点击后退的时候执行的方法
- (void)backClick {
[selfpopViewControllerAnimated:YES];
}