您的位置:首页 > 编程语言

BaseViewController中默认设置左右导航栏按钮代码

2016-03-10 17:40 369 查看
这部分代码没什么难度,不过每次都要重复的写进去,在这里记录一下 也给新人们节约一下时间

.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{
d37c
    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值 判断,直接 再 实现界面 直接重写就可以
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS 新手 导航栏