修改UITextFile placeColor

//分类的代码
+ (void)load
{
     Method placeholder = class_getInstanceMethod(self, @selector(setPlaceholder:));

    Method placeBS_holder = class_getInstanceMethod(self, @selector(setBS_Placeholder:));

    method_exchangeImplementations(placeholder, placeBS_holder);

}
//这是设置颜色的方法
- (void)setPlaceholderColor:(UIColor *)placeholderColor
{
   //给系统的类增加一个属性,然后保存起来
    objc_setAssociatedObject(self, "placeholderColor", placeholderColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

    UILabel *placeholder = [self valueForKey:@"placeholderLabel"];

    placeholder.textColor = placeholderColor;
}

- (UIColor *)placeholderColor
{
    return objc_getAssociatedObject(self, "placeholderColor");
}

//交换方法的实现
- (void)setBS_Placeholder:(NSString *)placeholder
{
   //因为交换方法实现所以是调用了系统的方法
    [self setBS_Placeholder:placeholder];
    //再把颜色赋值
    self.placeholderColor = self.placeholderColor;

}
posted @ 2017-03-01 11:35  tiankongzhicheng  阅读(123)  评论(0编辑  收藏  举报