首页 > 其他 > 详细

设置 UITextField 的占位符的颜色和光标颜色

时间:2016-04-25 00:22:45      阅读:220      评论:0      收藏:0      [点我收藏+]
这是在 UITextField 类中
/**

    运行时 :runtime
    可以访问隐藏的一些属性

 */

+ (void)initialize
{
    [self getIvars];
    [self getProperties];
}

//获取所有属性
+ (void)getProperties
{
    unsigned int count = 0;

    objc_property_t *properties = class_copyPropertyList([UITextField class], &count);
    for (int i = 0; i < count; i++) {
        objc_property_t property = properties[i];
        NSLog(@"%s  <---->  %s",property_getName(property), property_getAttributes(property));
    }

}

//获取所有成员变量列表
+ (void)getIvars
{
    unsigned int count = 0;
    //拷贝出所有的成员变量列表  这是一个数组 可以访问隐藏的属性
   Ivar *ivars = class_copyIvarList([UITextField class], &count);
    for (int i = 0; i < count; i ++) {
//        Ivar ivar = *(ivars + i);
        Ivar ivar = ivars[i]; //等同上一句代码
        NSLog(@"%s",ivar_getName(ivar));
    }
    //释放内存 因为带有 copy
    free(ivars);
}

//视图加载出来时
- (void)awakeFromNib
{
//    UILabel *placeHolderLabel = [self valueForKey:@"_placeholderLabel"];
//    placeHolderLabel.textColor = [UIColor redColor];

//通过 kvc 赋值
//    [self setValue:[UIColor orangeColor] forKeyPath:@"_placeholderLabel.textColor"];
//设置光标颜色和文字颜色一致

    self.tintColor = self.textColor;
    [self resignFirstResponder];

}

//文本框成为第一响应者 和放弃 时 设置文本框的 占位符的颜色
- (BOOL)becomeFirstResponder
{
    [self setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];
    return [super becomeFirstResponder];
}

- (BOOL)resignFirstResponder
{
    [self setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];
    return [super resignFirstResponder];
}

//外界可以通过访问这个属性 进行赋值
- (void)setPlaceHolderColor:(UIColor *)placeHolderColor
{
    _placeHolderColor = placeHolderColor;
    [self setValue:placeHolderColor forKeyPath:@"_placeholderLabel.textColor"];

}

 

设置 UITextField 的占位符的颜色和光标颜色

原文:http://www.cnblogs.com/arenouba/p/5428795.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!