3

実際のテキストをイタリック化せずに、テキストフィールドのヒントをイタリックに設定する簡単な方法はありますか?下の画像は、私が達成しようとしていることを示していますが、最初のテキストフィールドに入力されたテキストはまだイタリック体であるため、実際には機能しません。

テキストフィールド

これを行う簡単な方法がない場合は、テキストの長さを確認するために各テキストフィールドにメソッドを実装する必要があると考えています。ゼロの場合は、イタリックフォントを適用します。これでうまくいくでしょう?もっと良い方法はありますか?

4

1 に答える 1

5

これを試して:

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

編集:

わかりました、これを行う別の(合法的な)方法があります:

  • 1.サブクラス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に設定します。

ここに画像の説明を入力してください

以上です。楽しみ。

于 2012-07-13T23:41:16.467 に答える