#import "UITextField+Placeholder.h"
#import <objc/message.h>
@implementation UITextField (Placeholder)
+(void)load{
Method setPlaceholder = class_getInstanceMethod(self, @selector(setPlaceholder:));
Method setQLCPlaceholder = class_getInstanceMethod(self, @selector(setQLCPlaceholder:));
//交换方法实现
method_exchangeImplementations(setPlaceholder, setQLCPlaceholder);
}
-(void)setPlaceholderColor:(UIColor *)placeholderColor{
objc_setAssociatedObject(self, @"placeholderColor", placeholderColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
UILabel *placeholderLabel = [self valueForKey:@"placeholderLabel"];
//方法实现:首先找有没有这样的get方法,没有则继续找placeholderLabel这个成员属性,还没有则接着找_placeholderLabel
placeholderLabel.textColor = placeholderColor;
}
-(UIColor *)placeholderColor{
return objc_getAssociatedObject(self, @"placeholderColor");
}
-(void)setQLCPlaceholder:(NSString *)placeholder{
[self setQLCPlaceholder:placeholder];
self.placeholderColor = self.placeholderColor;
}