设置UITextField的placeholder颜色

2016-09-10  本文已影响0人  BrightFuture

自定义UITextField改变placeholder颜色

unsigned int count = 0;
Ivar *ivars = class_copyIvarList([UITextField class], &count);
for (int i = 0; i < count; i++) {
   Ivar ivar = *(ivars + i);
   NSLog(@"%s",ivar_getName(ivar));
 }
// 利用上述方法,可以找到任何一个类的所有成员变量
// 通过kvc改变_placeholderLabel的文字颜色
// 释放内存
free(ivars);
// 点击时(成为第一响应者)
 - (BOOL)becomeFirstResponder { 
   // 设置占位符颜色
   [self setValue:self.selectedColor ? self.selectedColor : self.textColor forKeyPath:@"_placeholderLabel.textColor"];
   // 设置光标颜色 
   [self setTintColor:self.selectedColor ? self.selectedColor : self.textColor]; return [super becomeFirstResponder];;
}
// 默认状态下(放弃第一响应者)
 - (BOOL)resignFirstResponder {
   [self setValue:self.defaultColor ? self.defaultColor : self.textColor forKeyPath:@"_placeholderLabel.textColor"];
   return [super resignFirstResponder];
}
上一篇 下一篇

猜你喜欢

热点阅读