统一设置返回按钮
- 在 UINavigationController 中的
- (void)pushViewController: animated:方法中统一设置返回按钮
- 根控制器不需要返回按钮, 所以要先做判断是否为根控制器
- 统一设置的返回按钮一定要在调用父类的
- (void)pushViewController: animated:方法之前
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
if (self.childViewControllers.count > 0) {
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[backButton setTitle:@"返回" forState:UIControlStateNormal];
[backButton setImage:[UIImage imageNamed:@"navigationButtonReturn"] forState:UIControlStateNormal];
[backButton setImage:[UIImage imageNamed:@"navigationButtonReturnClick"] forState:UIControlStateHighlighted];
[backButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[backButton setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
[backButton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
[backButton sizeToFit];
backButton.contentEdgeInsets = UIEdgeInsetsMake(0, -25, 0, 0);
viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
}
[super pushViewController:viewController animated:animated];
}