0
votes

I'm trying to make custom badge. For that I make subclass of UIButton and remake - (void)drawRect:(CGRect)rect like this:

    - (void)drawRect:(CGRect)rect
    {
        self.titleLabel.font = [UIFont systemFontOfSize:12];
        [self setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        self.userInteractionEnabled = NO;
        self.layer.borderWidth = 1.5f;
        self.layer.cornerRadius = rect.size.width / 2;
        self.layer.shouldRasterize = YES;
        self.layer.rasterizationScale = [[UIScreen mainScreen] scale];
        self.layer.backgroundColor = [UIColor grayColor].CGColor;
        self.layer.borderColor = [UIColor grayColor].CGColor;
    }

And everything is good except alignment. It is a little upper than it should be. Looks like this: enter image description here

What to do?

2
Try adding line [self.titleLabel setCenter:self.center];channi
@maria: You want that badge to be shown in tab of tab bar controller? @property(nonatomic,copy) NSString *badgeValue; // default is nil It's a property of tabbar itemRajesh
I tried the exact code, and it's working perfectly.Midhun MP
You could use this library. its pretty neat for badges.. iOS BadgesAhmed Z.

2 Answers

0
votes

@property(nonatomic) NSTextAlignment textAlignment;
// default is NSTextAlignmentLeft

It's an attribute of UILabel.

0
votes