美文网首页UI效果架构师之路ios 进阶
iOS开发-修改UITextField的placeholder字

iOS开发-修改UITextField的placeholder字

作者: 艾姆希 | 来源:发表于2016-06-12 17:06 被阅读5744次

    修改字体和颜色需要用到kvc:

    yourTextField.placeholder = @"username is in here!";

    [yourTextField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];

    [yourTextField setValue:[UIFont boldSystemFontOfSize:16] forKeyPath:@"_placeholderLabel.font"];

    有一个问题,当字体过小的时候,placeholder的字体会显示不是垂直居中的,这需要用到NSParagraphStyle,

    我的解决办法是:

    NSMutableParagraphStyle *style = [yourTextField.defaultTextAttributes[NSParagraphStyleAttributeName] mutableCopy];

    style.minimumLineHeight = yourTextField.font.lineHeight - (yourTextField.font.lineHeight - [UIFont systemFontOfSize:14.0].lineHeight) / 2.0;

    yourTextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"YourTextField Placeholder text"

    attributes:@{

    NSForegroundColorAttributeName: [UIColor colorWithRed:255/255.0f green:255/255.0f blue:255/255.0f alpha:0.7f],

    NSFontAttributeName : [UIFont systemFontOfSize:14.0],

    NSParagraphStyleAttributeName : style

    }

    ];

    相关文章

      网友评论

      本文标题:iOS开发-修改UITextField的placeholder字

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