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

UIButton+RuntimeAttributes.mm « Maps « iphone - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8fc208b29570ea549ba1e720e6e0a781004312c5 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#import <objc/runtime.h>
#import "Macros.h"
#import "UIButton+RuntimeAttributes.h"
#import "UIColor+MapsMeColor.h"
#import "UIFont+MapsMeFonts.h"

@implementation UIButton (RuntimeAttributes)

- (void)setLocalizedText:(NSString *)localizedText
{
  [self setTitle:L(localizedText) forState:UIControlStateNormal];
  [self setTitle:L(localizedText) forState:UIControlStateDisabled];
}

- (NSString *)localizedText { return L([self titleForState:UIControlStateNormal]); }
- (void)setFontName:(NSString *)fontName { self.titleLabel.font = [UIFont fontWithName:fontName]; }
- (void)setTextColorName:(NSString *)colorName
{
  [self setTitleColor:[UIColor colorWithName:colorName] forState:UIControlStateNormal];
}

- (void)setTextColorHighlightedName:(NSString *)colorName
{
  [self setTitleColor:[UIColor colorWithName:colorName] forState:UIControlStateHighlighted];
}

- (void)setTextColorDisabledName:(NSString *)colorName
{
  [self setTitleColor:[UIColor colorWithName:colorName] forState:UIControlStateDisabled];
}

- (void)setTextColorSelectedName:(NSString *)colorName
{
  [self setTitleColor:[UIColor colorWithName:colorName] forState:UIControlStateSelected];
}

- (void)setBackgroundColorName:(NSString *)colorName
{
  objc_setAssociatedObject(self, @selector(backgroundColorName), colorName,
                           OBJC_ASSOCIATION_COPY_NONATOMIC);
  [self setBackgroundColor:[UIColor colorWithName:colorName] forState:UIControlStateNormal];
}

- (NSString *)backgroundColorName
{
  return objc_getAssociatedObject(self, @selector(backgroundColorName));
}

- (void)setBackgroundHighlightedColorName:(NSString *)colorName
{
  objc_setAssociatedObject(self, @selector(backgroundHighlightedColorName), colorName,
                           OBJC_ASSOCIATION_COPY_NONATOMIC);
  [self setBackgroundColor:[UIColor colorWithName:colorName] forState:UIControlStateHighlighted];
}

- (NSString *)backgroundHighlightedColorName
{
  return objc_getAssociatedObject(self, @selector(backgroundHighlightedColorName));
}

- (void)setBackgroundSelectedColorName:(NSString *)colorName
{
  objc_setAssociatedObject(self, @selector(backgroundSelectedColorName), colorName,
                           OBJC_ASSOCIATION_COPY_NONATOMIC);
  [self setBackgroundColor:[UIColor colorWithName:colorName] forState:UIControlStateSelected];
}

- (NSString *)backgroundSelectedColorName
{
  return objc_getAssociatedObject(self, @selector(backgroundSelectedColorName));
}

- (void)setBackgroundColor:(UIColor *)color forState:(UIControlState)state
{
  [self setBackgroundColor:[UIColor clearColor]];
  [self setBackgroundImage:[UIImage imageWithColor:color] forState:state];
}

@end