#import "MWMInputValidatorFactory.h" #import "UIColor+MapsMeColor.h" #import "UIFont+MapsMeFonts.h" #import "UITextField+RuntimeAttributes.h" #import @implementation UITextField (RuntimeAttributes) - (void)setLocalizedPlaceholder:(NSString *)placeholder { self.placeholder = L(placeholder); } - (NSString *)localizedPlaceholder { return L(self.placeholder); } - (void)setFontName:(NSString *)fontName { self.font = [UIFont fontWithName:fontName]; } - (void)setColorName:(NSString *)colorName { self.textColor = [UIColor colorWithName:colorName]; } - (void)setValidator:(MWMInputValidator *)validator { objc_setAssociatedObject(self, @selector(validator), validator, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } - (MWMInputValidator *)validator { return objc_getAssociatedObject(self, @selector(validator)); } - (void)setValidatorName:(NSString *)validatorName { objc_setAssociatedObject(self, @selector(validatorName), validatorName, OBJC_ASSOCIATION_COPY_NONATOMIC); self.validator = [MWMInputValidatorFactory validator:validatorName]; } - (MWMInputValidator *)validatorName { return objc_getAssociatedObject(self, @selector(validatorName)); } - (BOOL)isValid { return [self.validator validateInput:self]; } @end