修改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

}

];

-摘抄

相關文章
相關標籤/搜索