设置BackBarButtonItem(LeftBarButtonItem)只有箭头,而没有文本

两种方法可以设置整个项目的BackBarButtonItem(LeftBarButtonItem)。

方法一:项目里所有的类继承一个基类,可以叫BaseViewController,统一在这个基类里设置UIBarButtonItem的属性。但是这样耦合度太高。

 

 1 [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];  

 

方法二:在继承的NavigationController里重新push方法,给LeftBarButtonItem设置一个图片(让UI做)

 

 1 /**
 2  *  能拦截所有push进来的子控制器
 3  */
 4 - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
 5 {
 6     if (self.viewControllers.count > 0) { // 如果现在push的不是栈底控制器(最先push进来的那个控制器)
 7         viewController.hidesBottomBarWhenPushed = YES;
 8         
 9         // 设置导航栏按钮
10         viewController.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithImageName:@"navigationbar_back" highImageName:@"navigationbar_back_highlighted" target:self action:@selector(back)];
11     }
12     [super pushViewController:viewController animated:animated];
13 }

 

posted @ 2016-09-13 17:16  战神在路上  阅读(2571)  评论(0编辑  收藏  举报