更改UITextField占位文字的颜色

第一种方法


 NSAttributedString * attributed = [[NSAttributedString alloc]initWithString:@"手机号" attributes:@{NSForegroundColorAttributeName:[UIColor grayColor]}];
    self.phoneField.attributedPlaceholder = attributed;


//也可以这么写

NSMutableAttributedString * attributedString = [[NSMutableAttributedString alloc]initWithString:@"手机号"];
    [attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor grayColor] range:NSMakeRange(0, 3)];
    self.phoneField.attributedPlaceholder = attributedString;

第二种方法

自定义textfield重写drawplaceholderrect方法

- (void)drawPlaceholderInRect:(CGRect)rect
{
    //rect 根据自己的需求调整
    [self.placeholder drawInRect:rect withAttributes:@{NSForegroundColorAttributeName:[UIColor grayColor]}];
}

第三种方法

    ###利用运行时
    //取出_palceholderLabel变量
    UILabel * palceholderLabel = [self valueForKeyPath:@"_palceholderLabel"];
    palceholderLabel.textColor = [UIColor grayColor];
    
    
    //或者直接这样
    [self setValue:[UIColor grayColor] forKeyPath:@"_palceholderLabel.textColor"];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容