Welcome to mirror list, hosted at ThFree Co, Russian Federation.

BadgeView.m « Classes « Maps « iphone - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e6f41d4ee3483db4bc386d9e4cd5e561bd308da3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

#import "BadgeView.h"
#import "UIKitCategories.h"
#import "UIFont+MapsMeFonts.h"

@implementation BadgeView

- (void)setValue:(NSInteger)value
{
  [self.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
  self.hidden = value == 0;

  UIFont * font = [UIFont regular10];
  UIImage * image = [UIImage imageNamed:@"Badge"];
  CGFloat const textWidth = [@(value).stringValue sizeWithDrawSize:CGSizeMake(100, 20) font:font].width;
  CGFloat const offset = 4;
  CGFloat const imageDiameter = image.size.width;

  self.size = CGSizeMake(MAX(textWidth + 2 * offset, imageDiameter), imageDiameter);
  self.image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageDiameter / 2, imageDiameter / 2, imageDiameter / 2, imageDiameter / 2)];

  UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(offset, 0, textWidth, self.height)];
  label.backgroundColor = [UIColor clearColor];
  label.textAlignment = NSTextAlignmentCenter;
  label.textColor = [UIColor whiteColor];
  label.font = font;
  label.text = @(value).stringValue;
  label.center = CGPointMake(self.width / 2, self.height / 2);
  [self addSubview:label];

  _value = value;
}

@end