navigationTitle设置两按钮样式lable的代码

效果图:

navigationTitle设置两按钮样式lable的代码_第1张图片
Snip20161215_1.png
#pragma mark - setuptitleView
- (void)setupNavButton {
    UIView *titleView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 152, 32)];
    for (int i = 0; i < self.navArr.count; ++i) {
        UILabel *lb = [UILabel new];
        lb.frame = CGRectMake(21+i*42, 0, 64, 32);
        lb.text = self.navArr[i];
        lb.font = [UIFont systemFontOfSize:18];
        lb.textColor = [UIColor colorWithHexString:@"9B9B9B"];
        lb.tag = i + 10;
        lb.textAlignment = NSTextAlignmentCenter;
        lb.userInteractionEnabled = YES;
        
        //创建手势
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(navTap:)];
        tap.delegate = self;
        [lb addGestureRecognizer:tap];
        
        UILabel *lb1 = [UILabel new];
        CGSize size = [self.navArr[i] sizeWithAttributes:@{ NSFontAttributeName: [UIFont fontWithName:nil size:18.0]}];
        lb1.frame = CGRectMake(lb.frame.origin.x + (64 - size.width)/2.0f , 32, size.width , 2);
        lb1.tag = 50 + i;
        //开始选择的lb
        if (i == _chooseTag) {
            //刚进来时也需要关联一下
            self.selectLable = lb;
            lb.textColor = [UIColor colorWithHexString:@"3BD395"];//浅绿色
            lb1.backgroundColor = [UIColor colorWithHexString:@"3BD395"];//浅绿色
        } else {
        }
        [titleView addSubview:lb];
        [titleView addSubview:lb1];
    }
    
    self.titleView = titleView;
    self.navigationItem.titleView = titleView;
}

#pragma mark - navTap
-(void)navTap:(UITapGestureRecognizer *)tap{
    
    NSInteger value = tap.view.tag - 10;
    
    for (NSInteger i = 0; i < self.navArr.count; i++) {
        
        if (i  == value ) {
            UILabel *lb = (UILabel *)[self.titleView viewWithTag:value + 10 ];
            UILabel *lb1 = (UILabel *)[self.titleView viewWithTag:value + 50];
            lb.font = [UIFont systemFontOfSize:18];
            [lb setTextColor:[UIColor colorWithHexString:@"3BD395"]];
            [lb1 setBackgroundColor:[UIColor colorWithHexString:@"3BD395"]];
            if ([lb.text isEqualToString:@"找人"]) {
//                NSLog(@"找人界面====%ld",(long)lb.tag);
            } else {
//                NSLog(@"找群界面%ld",(long)lb.tag);
            }
            //记录lable
            self.selectLable = lb;
            //手动调用一样的方法实现sugement的功能
             [self lableAction:lb];
            NSLog(@"selectedlb===%ld",self.selectLable.tag);
            continue;
        }else{
            UILabel *lb = (UILabel *)[self.titleView viewWithTag:i + 10 ];
            UILabel *lb1 = (UILabel *)[self.titleView viewWithTag:i + 50 ];
            [lb setTextColor:[UIColor colorWithHexString:@"9B9B9B"]];
            lb.font = [UIFont systemFontOfSize:18];
            [lb1 setBackgroundColor:[UIColor whiteColor]];
        }
    }
}

#pragma mark - lableAction的方法
- (void)lableAction:(UILabel *)sender {
//    [self.dataSource removeAllObjects];
//    [self.searchController.resultsSource removeAllObjects];
    if (sender.tag == 10) {
        DLog(@"全部");
    }
    else {
        DLog(@"未付款");
    }
    //    [_tableView reloadData];
}

#pragma mark - 初始化找人找群数据
- (NSArray *)navArr {
    if (!_navArr) {
        _navArr = [NSArray arrayWithObjects:@"找人",@"找群", nil];
    }
    return _navArr;
}

你可能感兴趣的:(navigationTitle设置两按钮样式lable的代码)