3

是否有任何简单的方法可以将文本字段的提示设置为斜体,同时保持实际文本非斜体?下图显示了我正在尝试完成的工作,但实际上并没有工作,因为在第一个文本字段中键入的文本仍然是斜体。

文本字段

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

4

1 回答 1

5

尝试这个:

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

编辑:

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

  • 1.子类UITextField和覆盖drawPlaceholderInRect:

文本字段子类.h:

@interface TextFieldSubclass : UITextField

@end

文本字段子类.m:

- (void) drawPlaceholderInRect:(CGRect)rect 
{
    [[UIColor lightGrayColor] setFill];
    UIFont* italicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]];
    [[self placeholder] drawInRect:rect withFont:italicFont];
}
  • 2.更改您的UITextField类并将其设置为TextFieldSubclass:

在此处输入图像描述

就是这样。享受。

于 2012-07-13T23:41:16.467 回答