设置textFiled占位文字颜色,进入编辑的时候占位文字颜色变成白色
默认状态textField效果:
修改后的textFiled效果:
设置占位颜色后效果.gif
设置方法:
1、自定义一个textFiled类,继承自UITextFiled,将登陆界面上的文本框都修改成自定义类;
2、在自定义类的.m文件中实现以下方法即可:
- (void)awakeFromNib{
/*
1、 设置光标的颜色为白色
2、 设置文本颜色为白色
2、 占位文字颜色变成白色
*/
self.tintColor = [UIColor whiteColor]; // 改变光标的颜色
self.textColor = [UIColor whiteColor]; // 设置文本的颜色
// 当文本框进入编辑状态的时候改变文字颜色
[self addTarget:self action:@selector(textEditBegin) forControlEvents:UIControlEventEditingDidBegin];
[self addTarget:self action:@selector(textEditEnd) forControlEvents:UIControlEventEditingDidEnd];
// 初始化的时候先将占位文字设置成灰色,编辑的时候变成白色,退出编辑的时候再变回灰色
// 占位颜色设置的2种方式:
// 1.
// NSMutableDictionary *attri = [NSMutableDictionary dictionary];
// attri[NSForegroundColorAttributeName] = [UIColor grayColor];
// self.attributedPlaceholder = [[NSAttributedString alloc] initWithString:self.placeholder attributes:attri];
// UITextField *label;
// 2.
UILabel *placeholderLabel = [self valueForKey:@"placeholderLabel"];
placeholderLabel.textColor = [UIColor grayColor];
}
- (void)textEditBegin{
// 1.
// NSMutableDictionary *attri = [NSMutableDictionary dictionary];
// attri[NSForegroundColorAttributeName] = [UIColor grayColor];
// self.attributedPlaceholder = [[NSAttributedString alloc] initWithString:self.placeholder attributes:attri];
// UITextField *label;
// 2.
UILabel *placeholderLabel = [self valueForKey:@"placeholderLabel"];
placeholderLabel.textColor = [UIColor whiteColor];
}
- (void)textEditEnd{
// 1.
// NSMutableDictionary *attri = [NSMutableDictionary dictionary];
// attri[NSForegroundColorAttributeName] = [UIColor grayColor];
// self.attributedPlaceholder = [[NSAttributedString alloc] initWithString:self.placeholder attributes:attri];
// UITextField *label;
// 2.
UILabel *placeholderLabel = [self valueForKey:@"placeholderLabel"];
placeholderLabel.textColor = [UIColor grayColor];
}
网友评论