改变设置文本框占位文字和图片
Posted 徒步天涯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改变设置文本框占位文字和图片相关的知识,希望对你有一定的参考价值。
如果我们想实现这种效果,点击相应的文本,占位文字显示高亮 ,而其他文本框非高亮
相应代码
#import <UIKit/UIKit.h> @interface XMGTextField : UITextField /** 颜色 */ @property(nonatomic,strong)UIColor *placeholderColor; @end #import "XMGTextField.h" #import <objc/runtime.h> static NSString *const XMGPacerholderColorKeyPath=@"_placeholderLabel.textColor"; @implementation XMGTextField // //-(void)drawPlaceholderInRect:(CGRect)rect{ // [self.placeholder drawInRect:CGRectMake(0, 10, rect.size.width, 25) withAttributes:@{NSForegroundColorAttributeName:[UIColor grayColor], // NSFontAttributeName:self.font // }]; //} /** * 运行时(Runtime): 苹果官方一台c语言库 能做很多低层操作(比如访问隐藏的一些成员变量\\成员方法) */ -(void)awakeFromNib{ // 设置光标颜色和文字颜色一致 self.tintColor=self.textColor; // 不成第一响应者 [self resignFirstResponder]; } /** * 当前文本框失去焦点是就会调用 */ -(BOOL)resignFirstResponder{ // 修改占位文字颜色 [self setValue:[UIColor grayColor] forKeyPath:XMGPacerholderColorKeyPath]; return [super resignFirstResponder]; } /** * 当前文本框聚集焦点就会调用 */ -(BOOL)becomeFirstResponder{ [self setValue:self.textColor forKeyPath:XMGPacerholderColorKeyPath]; return [super becomeFirstResponder]; } -(void)setPlaceholderColor:(UIColor *)placeholderColor{ _placeholderColor = placeholderColor; // 修改占位文字颜色 [self setValue:placeholderColor forKeyPath:XMGPacerholderColorKeyPath]; } @end
以上是关于改变设置文本框占位文字和图片的主要内容,如果未能解决你的问题,请参考以下文章