To achieve this, you will need resizableImageWithCapInsetsPhotoshop without a library of images. There are several excellent topics ( here and here ) that explain its use.
Here is an example I just made to give you an idea:
UILabel *yourLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 1, 1)];
yourLabel.text = @"7+";
[yourLabel sizeToFit];
CGRect labelFrame = yourLabel.frame;
UIImage *badgeImage = [[UIImage imageNamed:@"badge.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(5, 5, 5, 5)];
UIImageView *badgeImageView = [[UIImageView alloc]initWithImage:badgeImage];
badgeImageView.contentMode = UIViewContentModeScaleToFill;
badgeImageView.backgroundColor = [UIColor clearColor];
labelFrame.size.width += 5;
badgeImageView.frame = labelFrame;
yourLabel.center = CGPointMake(badgeImageView.frame.size.width/2, badgeImageView.frame.size.height/2);
[badgeImageView addSubview:yourLabel];
[self.view addSubview:badgeImageView];
[badgeImageView release];
[yourLabel release];
source
share