美文网首页
三种方法设置UITextField的占位文字颜色

三种方法设置UITextField的占位文字颜色

作者: 凡尘一笑 | 来源:发表于2016-07-29 16:12 被阅读25次

我们知道设置UITextField的占位文字
UITextField.placeholder = @"请设置账号";
而且默认是灰色的,但是有时候我们需要的占位文字却不一定是灰色的,可以是浅浅的白色,或者其他颜色。
不多废话,上代码
第一种方式:要拿到UIextField的attributedPlaceholder属性

 // 设置占位文字颜色
    NSMutableDictionary *attributes = [NSMutableDictionary dictionary];
//这里我就设置成白色
    attributes[NSForegroundColorAttributeName] = [UIColor whiteColor];
    UITextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:self.placeholder attributes:attributes];

第二种方式:我们可以使用Quartz 2D画出占位文字

 // 文字属性
    NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
    attrs[NSForegroundColorAttributeName] = [UIColor whiteColor];
    attrs[NSFontAttributeName] = UITextField.font;
    CGPoint placeholderPoint = CGPointMake(0, (rect.size.height - self.font.lineHeight) * 0.5);
    [UITextField.placeholder drawAtPoint:placeholderPoint withAttributes:attrs];

第三种方式:利用KVC

[UITextField setValue:[UIColor whiteColor] forKeyPath:@"placeholderLabel.textColor"];

分析这三种方法
第一种其实容易想到,但代码量多一点
第二种不容易操作,很多人其实不知道Quartz 2D的使用,虽然这里只是非常简单的使用
第三种代码量最少,但是其实我们是不能直接拿到placeholderLabel这个属性,因为苹果没有让它开放出来,这里我是利用运行时把它找出来的,这里不知道运行时的,直接记住这个属性就可以。
其实我们不仅仅可以利用这些办法设置颜色,可以设置文字大小,等等
所以怎么说这三种方法都容易想到,所以我给大家写了出来,方便大家查阅使用。

备注:

如果有不足或者错误的地方还望各位读者批评指正,可以评论留言,笔者收到后第一时间回复。

QQ/微信:2366889552 /lan2018yingwei。

简书号:凡尘一笑:[简书]

http://www.jianshu.com/users/0158007b8d17/latest_articles

感谢各位观众老爷的阅读,如果觉得笔者写的还凑合,可以关注或收藏一下,不定期分享一些好玩的实用的demo给大家。

文/凡尘一笑(简书作者)

原文链接: http://www.jianshu.com/p/8ae080edb3ea

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

相关文章

网友评论

      本文标题:三种方法设置UITextField的占位文字颜色

      本文链接:https://www.haomeiwen.com/subject/wvszjttx.html