这部分代码没什么难度,不过每次都要重复的写进去,在这里记录一下 也给新人们节约一下时间
.h中
/**
* 添加导航栏左边按钮
*
* @param title 按钮title
* @param itemImage 按钮image
*/
- (void)addLeftItemWithTitle:(NSString *)title Image:(NSString *)itemImage;
/**
* 添加导航栏右边按钮
*
* @param title 按钮title
* @param itemImage 按钮image
*/
- (void)addRightItemWithTitle:(NSString *)title Image:(NSString *)itemImage;
/**
* 导航来右边
*/
- (void)clickRight;
/**
* 导航来左边边
*/
- (void)clickLeft;
/**
* 添加导航栏左边按钮数组
*
* @param title 按钮title
* @param itemImage 按钮image
*/
- (void)addLeftItemsWithTitle:(NSArray *)titleArr Image:(NSArray *)imageArr;
/**
* 添加导航栏右边按钮
*
* @param title 按钮title
* @param itemImage 按钮image
*/
- (void)addRightItemsWithTitle:(NSArray *)titleArr Image:(NSArray *)imageArr;
// 左边按钮点击 tag 区分点击的按钮
-(void)clickLeftItem:(UIBarButtonItem*)barButtonItem;
// 右边按钮点击 tag 区分点击的按钮
-(void)clickRightItem:(UIBarButtonItem*)barButtonItem;
.m中的实现代码
- (void)addLeftItemWithTitle:(NSString *)title Image:(NSString *)itemImage{
UIBarButtonItem * leftButton = [[UIBarButtonItem alloc]
initWithTitle:title
style:UIBarButtonItemStylePlain
target:self
action:@selector(clickLeft)];
leftButton.image = [UIImage imageNamed:itemImage];
leftButton.tintColor=[UIColor colorWithRed:74/255.0 green:74/255.0 blue:74/255.0 alpha:1.0];
self.navigationItem.leftBarButtonItem = leftButton;
}
- (void)addRightItemWithTitle:(NSString *)title Image:(NSString *)itemImage{
UIBarButtonItem * rightButton = [[UIBarButtonItem alloc]
initWithTitle:title
style:UIBarButtonItemStylePlain
target:self
action:@selector(clickRight)];
rightButton.image = [UIImage imageNamed:itemImage];
rightButton.tintColor=[UIColor colorWithRed:74/255.0 green:74/255.0 blue:74/255.0 alpha:1.0];
self.navigationItem.rightBarButtonItem = rightButton;
}
- (void)clickRight{
}
- (void)clickLeft{
}
- (void)addLeftItemsWithTitle:(NSArray *)titleArr Image:(NSArray *)imageArr{
NSMutableArray *rightItems = [[NSMutableArray alloc]init];
for (int i = 0; i<titleArr.count; i++) {
UIBarButtonItem * rightButton = [[UIBarButtonItem alloc]
initWithTitle:titleArr[i]
style:UIBarButtonItemStylePlain
target:self
action:@selector(clickLeftItem:)];
rightButton.image=[UIImage imageNamed:imageArr[i]];
rightButton.tag = 100+i;
rightButton.tintColor=[UIColor colorWithRed:74/255.0 green:74/255.0 blue:74/255.0 alpha:1.0];
[rightItems addObject:rightButton];
}
// self.navigationItem.leftBarButtonItem = rightButton;
self.navigationItem.leftBarButtonItems = rightItems;
}
- (void)addRightItemsWithTitle:(NSArray *)titleArr Image:(NSArray *)imageArr{
NSMutableArray *rightItems = [[NSMutableArray alloc]init];
for (int i = 0; i<titleArr.count; i++) {
UIBarButtonItem * rightButton = [[UIBarButtonItem alloc]
initWithTitle:titleArr[i]
style:UIBarButtonItemStylePlain
target:self
action:@selector(clickRightItem:)];
rightButton.image=[UIImage imageNamed:imageArr[i]];
rightButton.tag = 1000+i;
rightButton.tintColor=[UIColor colorWithRed:74/255.0 green:74/255.0 blue:74/255.0 alpha:1.0];
[rightItems addObject:rightButton];
}
// self.navigationItem.leftBarButtonItem = rightButton;
self.navigationItem.rightBarButtonItems = rightItems;
}
// 左边按钮点击
-(void)clickLeftItem:(UIBarButtonItem*)barButtonItem{
switch (barButtonItem.tag-100) {
case 0:
NSLog(@"左边0");
break;
case 1:
NSLog(@"左边1");
break;
default:
NSLog(@"左边n");
break;
}
}
// 左边按钮点击
-(void)clickRightItem:(UIBarButtonItem*)barButtonItem{
switch (barButtonItem.tag-1000) {
case 0:
NSLog(@"右边0");
break;
case 1:
NSLog(@"右边1");
break;
default:
NSLog(@"右边n");
break;
}
}
备注:添加多个的时候 使用addRightItemsWithTitle 文字 图片放入数组,数组不能为空,点击事件 根据tag值 判断,直接 再 实现界面 直接重写就可以