一劳永逸
只需在BaseViewController(viewController的基类)调用此方法即可
//取消导航根控制器的LeftBarButtonItem
- (void)cancelNavigationRootVCLeftBarButtonItem
{
UITabBarController* tabBarController = (UITabBarController*)[UIApplication sharedApplication].keyWindow.rootViewController;
UINavigationController* nav = (UINavigationController*)tabBarController.selectedViewController;
if ([self.title isEqualToString:nav.title])
{
self.navigationItem.leftBarButtonItem = nil;
}
else
{
UIBarButtonItem *backBtnItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"backNavi"] style:UIBarButtonItemStylePlain target:self action:@selector(navigationBackAction)];
self.navigationItem.leftBarButtonItem = backBtnItem;
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
}
}
//返回上级页面
- (void)navigationBackAction
{
[self.navigationController popViewControllerAnimated:YES];
}