美文网首页
自定义 UITextField 的文本框占位文字颜色

自定义 UITextField 的文本框占位文字颜色

作者: zero_zql | 来源:发表于2016-06-02 09:44 被阅读54次

    在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被创建
        self.placeholder = @" ";
        [self setValue:placeholderColor forUndefinedKey:CYXPlaceholderColorKey];
        
        // 恢复之前的占位文字
        self.placeholder = placeholder;
      }
    
    }
    
    /**
     *  获得占位文字颜色
     */
    - (UIColor *)placeholderColor{
        return [self valueForKeyPath:CYXPlaceholderColorKey];
    }    
    
    @end
    

    敬请使用吧

    相关文章

      网友评论

          本文标题:自定义 UITextField 的文本框占位文字颜色

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