iOS - 如何将文本字段提示设置为斜体(使用常规实际文本)?

时间:2012-07-13 23:32:22

标签: iphone ios uitextfield

有没有简单的方法将文本字段的提示设置为斜体,同时保持实际文本不斜体?下图显示了我正在尝试完成的内容,但实际上并不起作用,因为输入到第一个文本字段的文本仍为斜体。

text fields

如果没有简单的方法可以做到这一点,我想我必须在每个文本字段上实现方法来检查文本的长度,如果为零则应用斜体字体。这会奏效,对吗?还有更好的方法吗?

1 个答案:

答案 0 :(得分:5)

试试这个:

UIFont* italicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]];    
[yourTextField setValue:italicFont forKeyPath:@"_placeholderLabel.font"];

编辑:

好的,这是另一种(合法的)方式:

  • 1.Subclass 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];
}
  • 2.更改您的UITextField类并将其设置为TextFieldSubclass:

enter image description here

就是这样。享受。