ios 设置UITextField的placeholder大小颜色

需求:产品嫌弃placeholder的字体太大,颜色太明显,要求跟正常输入时的字体及颜色不同

方法:设置placeholder的大小和颜色,实际上是设置placeholder的label的大小和颜色,但是当设置完之后,placeholder的字体有点偏上了,所以设置一下属性。

   // 设置placeholder的字体大小
    [titleField setValue:[UIFont systemFontOfSize:13] forKeyPath:@"_placeholderLabel.font"];
    // 设置placeholder的字体颜色
    [titleField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];
    // placeholder居中显示
    NSMutableParagraphStyle *style = [titleField.defaultTextAttributes[NSParagraphStyleAttributeName] mutableCopy];
    style.minimumLineHeight = titleField.font.lineHeight - (titleField.font.lineHeight - [UIFont systemFontOfSize:13].lineHeight) / 2;
    titleField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"请在此输入标题" attributes:@{NSParagraphStyleAttributeName : style}];

问题:嫌弃输入文字不居中,placeholder不居中
方法:重写!重写解决一切问题!

 -(CGRect)editingRectForBounds:(CGRect)bounds

 -(CGRect)placeholderRectForBounds:(CGRect)bounds

  



原文地址:https://www.cnblogs.com/peaker-wu/p/5474674.html