forked from organicmaps/organicmaps
[ios] Added button background color name support to coloring.
This commit is contained in:
parent
a2d80a5bbb
commit
94a45b0f06
3 changed files with 40 additions and 3 deletions
|
@ -1,6 +1,7 @@
|
|||
#import "Common.h"
|
||||
#import "UIColor+MapsMeColor.h"
|
||||
#import "UIImageView+Coloring.h"
|
||||
#import "UIButton+RuntimeAttributes.h"
|
||||
#import "UIKitCategories.h"
|
||||
|
||||
#import <SafariServices/SafariServices.h>
|
||||
|
@ -249,6 +250,16 @@
|
|||
[self setTitleColor:oppositeHightlighted forState:UIControlStateHighlighted];
|
||||
if (oppositeDisabled)
|
||||
[self setTitleColor:oppositeDisabled forState:UIControlStateDisabled];
|
||||
|
||||
NSString * backgroundColorName = [self backgroundColorName];
|
||||
NSString * backgroundHighlightedColorName = [self backgroundHighlightedColorName];
|
||||
NSString * backgroundSelectedColorName = [self backgroundSelectedColorName];
|
||||
if (backgroundColorName)
|
||||
[self setBackgroundColorName:backgroundColorName];
|
||||
if (backgroundHighlightedColorName)
|
||||
[self setBackgroundHighlightedColorName:backgroundHighlightedColorName];
|
||||
if (backgroundSelectedColorName)
|
||||
[self setBackgroundSelectedColorName:backgroundSelectedColorName];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -383,4 +394,4 @@
|
|||
return image;
|
||||
}
|
||||
|
||||
@end
|
||||
@end
|
||||
|
|
|
@ -4,6 +4,13 @@
|
|||
|
||||
@property (nonatomic) NSString * localizedText;
|
||||
|
||||
- (void)setBackgroundColorName:(NSString *)colorName;
|
||||
- (NSString *)backgroundColorName;
|
||||
- (void)setBackgroundHighlightedColorName:(NSString *)colorName;
|
||||
- (NSString *)backgroundHighlightedColorName;
|
||||
- (void)setBackgroundSelectedColorName:(NSString *)colorName;
|
||||
- (NSString *)backgroundSelectedColorName;
|
||||
|
||||
- (void)setBackgroundColor:(UIColor *)color forState:(UIControlState)state;
|
||||
|
||||
@end
|
||||
@end
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#import "UIButton+RuntimeAttributes.h"
|
||||
#import "UIColor+MapsMeColor.h"
|
||||
#import "UIFont+MapsMeFonts.h"
|
||||
#import <objc/runtime.h>
|
||||
|
||||
@implementation UIButton (RuntimeAttributes)
|
||||
|
||||
|
@ -43,23 +44,41 @@
|
|||
|
||||
- (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
|
||||
@end
|
||||
|
|
Loading…
Add table
Reference in a new issue