一、通过UIBarButtonItem 外观实例设置
1.图片拉伸
UIImage *backButtonImage = [[UIImage imageNamed:@"back_btn"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 30, 0, 0)];
2.设置
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
在-(void)viewWillAppear:(BOOL)animated方法中执行 希望再次更改 返回按钮图片 结果时灵时不灵
1.直接运行,可能不成功。
2.在[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];加断点 运行后再继续运行
又成功了
二、通过UINavigationBar 外观实例设置
[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"back_btn"]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"back_btn"]];
三、重新设置导航左按钮
UIButton* leftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
leftBtn.frame = CGRectMake(0, 0, 40, 30);
[leftBtn setImage:[[UIImage imageNamed:@"back_btn"] tintColor:[UIColor whiteColor] level:1] forState:UIControlStateNormal];
leftBtn.imageView.contentMode = UIViewContentModeScaleAspectFit;
leftBtn.imageEdgeInsets = UIEdgeInsetsMake(0, -15, 0, 15);
[leftBtn addTarget:self action:@selector(backClicked) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:leftBtn];
/**
* 返回按钮
*/
-(void)backClicked{
[self.navigationController popViewControllerAnimated:YES];
}