思路: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