通过富文本改变UITextFieldPlaceholder颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过富文本改变UITextFieldPlaceholder颜色相关的知识,希望对你有一定的参考价值。
1、通过属性
a、 //文字属性(一般)
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSForegroundColorAttributeName] = [UIColor blueColor];
NSAttributedString *placeholderStr = [[NSAttributedString alloc] initWithString:@"手机号" attributes:attrs];
self.phoneTextField.attributedPlaceholder = placeholderStr;
b、稍微高级一点
NSMutableAttributedString *placeholder = [[NSMutableAttributedString alloc] initWithString:@"手机号"];
[placeholder setAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor],
NSFontAttributeName : [UIFont systemFontOfSize:20]
} range:NSMakeRange(0, 1)];
[placeholder setAttributes:@{NSForegroundColorAttributeName : [UIColor blueColor]} range:NSMakeRange(1, 1)];
[placeholder setAttributes:@{NSForegroundColorAttributeName : [UIColor yellowColor]} range:NSMakeRange(2, 1)];
self.phoneTextField.attributedPlaceholder = placeholder;
二、通过重写UITextField的方法
继承UITextField的类,
- (void)drawPlaceholderInRect:(CGRect)rect
{
[self.placeholder drawInRect:CGRectMake(10, 10, 10, 1) withAttributes:@{
NSForegroundColorAttributeName :[UIColor blueColor],
NSFontAttributeName :[UIFont systemFontOfSize:10]
}];
}
使用的时候,如果是xib创建的textField,就吧xib中的textField的类名改成这个自定义的,如果是代码创建,就用这个自定义的textField去创建。
以上是关于通过富文本改变UITextFieldPlaceholder颜色的主要内容,如果未能解决你的问题,请参考以下文章