iOS-textField 的 placeholder 和 textField 的 fontSize 不同大小的实现小坑

需求背景:textField 的 placeholder 要比 textField 输入状态下的文字要小

实现

要自定义 textField 的 placeholder,我们使用 attributedPlaceholder 来设置:

    NSString *placeholder = @"请输入文字";
    
    NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:placeholder];
    
    [attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(0, placeholder.length)];
    
    textFiled.attributedPlaceholder = attributedString;
    
    textFiled.font = [UIFont systemFontOfSize:28];

结果发现 attributedPlaceholder 字体大小并不是14,而是28,后面设置的 font 的大小覆盖了 attributedPlaceholder 的字体大小,由于我的编码习惯是先设置 placeholder,后设置font,所以出现了这个小坑。

解决

先设置font,再设置 placeholder

    textFiled.font = [UIFont systemFontOfSize:28];

    textFiled.attributedPlaceholder = attributedString;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容