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


    这是在 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"];
    
    }
  • 相关阅读:
    第一周任务Largest Submatrix of All 1’s
    第一周 Largest Rectangle in a Histogram
    第二次作业
    B. Light bulbs(2019 ICPC上海站)
    二维平面最近点-分治
    python生成器,推导式
    python函数名的运用,闭包,迭代器
    python函数(二)
    python函数(一)
    python基础(七)
  • 原文地址:https://www.cnblogs.com/arenouba/p/5428795.html
Copyright © 2020-2023  润新知