ios导航栏又按钮添加图片后使其保持原色

//单一导航栏按钮设置如下

UIBarButtonItem *rightBarItem = [[UIBarButtonItem alloc] initWithTitle:nil style:UIBarButtonItemStylePlain target:self action:@selector(addItemmmClick)];

    self.navigationItem.rightBarButtonItem = rightBarItem;

    [self.navigationItem.rightBarButtonItem setImage:[[UIImage imageNamed:@"nav_add"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

//自定制导航栏按钮实现多个按钮

主要是先创建一个view,然后在上面创建多个按钮,根据需求进行设置按钮的数量,最后把按钮数组作为导航栏的按钮数组即可如下

//导航栏一侧有多个按钮的时候  
//写成一个view上  
UIView * viewBackInNavi=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 60, 30)];  
viewBackInNavi.backgroundColor=[UIColor clearColor];  
viewBackInNavi.userInteractionEnabled=YES;  
//重做按钮  
UIButton *myRightRePaintBtn=[[UIButton alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];  
[myRightRePaintBtn addTarget:self action:@selector(clear:) forControlEvents:UIControlEventTouchUpInside];  
[myRightRePaintBtn setBackgroundColor:[UIColor clearColor]];  
[myRightRePaintBtn.titleLabel setFont:[UIFont systemFontOfSize:15]];  
[myRightRePaintBtn setImage:[UIImage imageNamed:@"iconfont-zhongzuo"] forState:UIControlStateNormal];  
[myRightRePaintBtn setTitle:[NSString stringWithFormat:@" %@",NSLocalizedString(@"local_paintAgain", nil)] forState:UIControlStateNormal];  
myRightRePaintBtn.titleLabel.adjustsFontSizeToFitWidth=YES;  
[viewBackInNavi addSubview:myRightRePaintBtn];  

//提交按钮  
UIButton *myRightSubmitBtn=[[UIButton alloc]initWithFrame:CGRectMake(30, 0, 30, 30)];  
[myRightSubmitBtn addTarget:self action:@selector(submitBtnClicked) forControlEvents:UIControlEventTouchUpInside];  
[myRightSubmitBtn setBackgroundColor:[UIColor clearColor]];  
[myRightSubmitBtn.titleLabel setFont:[UIFont systemFontOfSize:15]];  
[myRightSubmitBtn setImage:[UIImage imageNamed:@"iconfont-tijiao-copy"] forState:UIControlStateNormal];  
[myRightSubmitBtn setTitle:[NSString stringWithFormat:@" %@",NSLocalizedString(@"local_card", nil)] forState:UIControlStateNormal];  
myRightSubmitBtn.titleLabel.adjustsFontSizeToFitWidth=YES;  
[viewBackInNavi addSubview:myRightSubmitBtn];  

UIBarButtonItem * right=[[UIBarButtonItem alloc]initWithCustomView:viewBackInNavi];  
//将整个viewBackInNavi右移10  
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];  
negativeSpacer.width =-10;//负数为右移,正数为左移  
self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:negativeSpacer,right, nil nil];

原文地址:https://www.cnblogs.com/sunfuyou/p/5937836.html