UIBarButtonItem右上角顯示數字【導航欄上】相似(badgeValue)

思路:UIButton右上角加UILabel,UILabel用來顯示數字。在把UIButton加到UIBarButtonItem上去。ide

UIBarButton的屬性:
code

- (instancetype)initWithCustomView:(UIView *)customView;

添加代碼:orm

    UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:rightButton];

開始實現:get

第一步:把UIButton加到UIBarButtonItem上去:it

#pragma mark--
#pragma mark 增長右按鈕
-(void)addRightBarItem
{
    UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeCustom];
    rightButton.frame = CGRectMake(0.0f, 0.0f, 60, 43);
    rightButton.backgroundColor = [UIColor clearColor];
    [rightButton setTitle:@"個人卡券" forState:UIControlStateNormal];
    rightButton.titleLabel.font = Demon_13_Font;
    [rightButton addTarget:self action:@selector(mineCardCoupon) forControlEvents:UIControlEventTouchUpInside];
    [rightButton addSubview:self.numberLabel];//第二步
    UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:rightButton];
    self.navigationItem.rightBarButtonItem = rightBarButtonItem;
    
}

第二步:UILabel顯示數字io

#pragma mark 個人卡券顯示的數字
-(UILabel *)numberLabel
{
    if (!_numberLabel) {
        _numberLabel = [UILabel new];
        _numberLabel.frame = CGRectMake(55, 10, 16, 16);
//        _numberLabel.text = @"···";
        _numberLabel.text = @"8";
        _numberLabel.font = Demon_16_Font;
        _numberLabel.backgroundColor = [UIColor whiteColor];
        _numberLabel.textColor = [UIColor redColor];
        _numberLabel.textAlignment = NSTextAlignmentCenter;
        _numberLabel.layer.cornerRadius = 8;
        _numberLabel.layer.masksToBounds = YES;
        
    }
    return _numberLabel;
}


效果圖:class

相關文章
相關標籤/搜索