有没有简单的方法将文本字段的提示设置为斜体,同时保持实际文本不斜体?下图显示了我正在尝试完成的内容,但实际上并不起作用,因为输入到第一个文本字段的文本仍为斜体。
如果没有简单的方法可以做到这一点,我想我必须在每个文本字段上实现方法来检查文本的长度,如果为零则应用斜体字体。这会奏效,对吗?还有更好的方法吗?
答案 0 :(得分:5)
试试这个:
UIFont* italicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]];
[yourTextField setValue:italicFont forKeyPath:@"_placeholderLabel.font"];
编辑:
好的,这是另一种(合法的)方式:
UITextField
并覆盖drawPlaceholderInRect:
:TextFieldSubclass.h:
@interface TextFieldSubclass : UITextField
@end
TextFieldSubclass.m:
- (void) drawPlaceholderInRect:(CGRect)rect
{
[[UIColor lightGrayColor] setFill];
UIFont* italicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]];
[[self placeholder] drawInRect:rect withFont:italicFont];
}
UITextField
类并将其设置为TextFieldSubclass:
就是这样。享受。