设置系统返回按钮背景图片

来源:互联网 发布:java web在线音乐网站 编辑:程序博客网 时间:2024/05/01 19:30


一、通过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];

    

}

0 0