修改UITextField的placeholder字体颜色并垂直居中

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

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

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

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

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

个人解决办法是:co

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"vc

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

}

];

-摘抄

相关文章
相关标签/搜索