我已将按钮作为rightView添加到文本字段。
我已将自定义字体的属性设置为占位符文本。
我的文本字段的占位符和文本字体不同。
但是当textfield的文本很大并且我选择整个文本并删除时 然后它不会在其字体中显示占位符文本。它以textfield的文本字体显示。
详细说明:
但是当我选择孔文本(大)并删除文本时,它会显示占位符文本:OpenSans Bold 18.0
但它应该显示占位符文本:OpenSans 18.0(常规)
答案 0 :(得分:3)
我认为每次占位符出现/消失时都必须设置字体。设置文本字段委托并添加此代码...
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let length = (textField.text?.characters.count)! + (string.characters.count - range.length)
// If there is text in the text field
if (length > 0) {
// Set textfield font
textField.font = UIFont(name: "OpenSans Bold", size: 18)
} else {
// Set textfield placeholder font (or so it appears)
textField.font = UIFont(name: "OpenSans Regular", size: 18)
}
return true;
}
的OBJ-C:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
// If there is text in the text field
if (textField.text.length + (string.length - range.length) > 0) {
// Set textfield font
textField.font = [UIFont fontWithName:@"OpenSans Bold" size:18];
} else {
// Set textfield placeholder font (or so it appears)
textField.font = [UIFont fontWithName:@"OpenSans Regular" size:18];
}
return YES;
}