需求:产品嫌弃placeholder的字体太大,颜色太明显,要求跟正常输入时的字体及颜色不同
方法:设置placeholder的大小和颜色,实际上是设置placeholder的label的大小和颜色,但是当设置完之后,placeholder的字体有点偏上了,所以设置一下属性。
// 设置placeholder的字体大小
[titleField setValue:[UIFont systemFontOfSize:] 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:].lineHeight) / ;
titleField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"请在此输入标题" attributes:@{NSParagraphStyleAttributeName : style}];
问题:嫌弃输入文字不居中,placeholder不居中
方法:重写!重写解决一切问题!
-(CGRect)editingRectForBounds:(CGRect)bounds -(CGRect)placeholderRectForBounds:(CGRect)bounds