有很多时候,我们需要用到导航,那么更换导航的时候,是在那用那修改,还是自定义一个导航,或者是声明一个代理方法,经过查资料和对导航属性的一些了解,用一种方法最为简单,就是在入口类里面添加一个方法,调用偏移量的方法,达到隐藏默认导航按钮的效果,代码如下:
- (void)setNaviBack{ UIFont *font = [UIFont systemFontOfSize:16.f];
//title的颜色和字体大小
NSDictionary *textAttributes = @{
NSFontAttributeName : font,
NSForegroundColorAttributeName : [UIColor whiteColor]
};
UINavigationBar * navigationBar = [UINavigationBar appearance];
navigationBar.titleTextAttributes = textAttributes;
//导航栏的背景颜色
navigationBar.barTintColor = MainColor; //返回按钮的箭头颜色 [navigationBar setTintColor:[UIColor colorWithRed:0.984 green:0.000 blue:0.235 alpha:1.000]]; //设置返回样式图片 UIImage *image = [UIImage imageNamed:@"返回"]; image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; navigationBar.backIndicatorImage = image; navigationBar.backIndicatorTransitionMaskImage = image; UIBarButtonItem *buttonItem = [UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil]; //设置图片与文本的偏移量 UIOffset offset; offset.horizontal = - 500; offset.vertical = - 500; [buttonItem setBackButtonTitlePositionAdjustment:offset forBarMetrics:UIBarMetricsDefault]; }
这样就可以了,每个页面的返回按钮都会被替换掉,效果如下: