// Created by xue on 4/22/16.
// Copyright © 2016 Jessica. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface JRNavigationController : UINavigationController
@end
// Created by xue on 4/22/16.
// Copyright © 2016 Jessica. All rights reserved.
//
#import "JRNavigationController.h"
@interface JRNavigationController ()
@end
@implementation JRNavigationController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//
self.interactivePopGestureRecognizer.delegate = nil;
}
//拦截并重写pushViewController方法
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
if (self.childViewControllers.count > 0) {
//自定义一个返回按钮
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[backButton setTitle:@"Back" forState:UIControlStateNormal];
[backButton setTitle:@"Back" forState:UIControlStateHighlighted];
[backButton setTitle:@"Back" forState:UIControlStateSelected];
[backButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[backButton setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
[backButton setTitleColor:[UIColor blueColor] forState:UIControlStateSelected];
[backButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
[backButton setContentEdgeInsets:UIEdgeInsetsMake(0, -10, 0, 0)];
[backButton setFrame:CGRectMake(0, 0, 40, 40)];
[backButton addTarget:self action:@selector(backTOPre:) forControlEvents:UIControlEventTouchUpInside];
viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:backButton];
//push的时候隐藏下方tabBar
viewController.hidesBottomBarWhenPushed = YES;
}
//这句super的push要放在后面, 让viewController可以覆盖上面设置的leftBarButtonItem???
return [super pushViewController:viewController animated:animated];
}
- (void)backTOPre: (UIButton *)sender {
[self popViewControllerAnimated:YES];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end