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

有没有简单的方法来设置文本字段的提示斜体,而保持实际的文字非斜体? 下面的图片显示了我正在尝试完成的内容,但实际上并没有工作,因为键入第一个文本字段的文本仍然以斜体显示。

文本字段

如果没有简单的方法做到这一点,我想我将不得不在每个文本字段上实现方法来检查文本的长度,如果零应用斜体字体。 这会工作,对吗? 有没有更好的办法?

尝试这个:

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:

在这里输入图像说明

就是这样。 请享用。