在UITextField 中其默認的顏色是談灰色的占位文字,假如你要更改其占位文字的顏色可以通過以上類別來幫助你輕松搞定
.h文件
#import <UIKit/UIKit.h>
@interface UITextField (CYXExtension)
/** 占位文字顏色 */
@property (strong, nonatomic) UIColor * placeholderColor;
@end
.m文件
#import "UITextField+CYXExtension.h"
static NSString * const CYXPlaceholderColorKey = @"placeholderLabel.textColor";
@implementation UITextField (CYXExtension)
/**
* 自定義占位文字顏色
*
* @param placeholderColor 接收顏色
*/
- (void)setPlaceholderColor:(UIColor *)placeholderColor{
if (placeholderColor == nil) {
[self setValue:CYXGrayColor(255 * 0.65) forKeyPath:CYXPlaceholderColorKey];
}else{
// 保存之前的占位文字
NSString *placeholder = self.placeholder;
// 保證placeholder被創(chuàng)建
self.placeholder = @" ";
[self setValue:placeholderColor forUndefinedKey:CYXPlaceholderColorKey];
// 恢復(fù)之前的占位文字
self.placeholder = placeholder;
}
}
/**
* 獲得占位文字顏色
*/
- (UIColor *)placeholderColor{
return [self valueForKeyPath:CYXPlaceholderColorKey];
}
@end
敬請使用吧