6月
22

UITextFieldのプレースホルダーの文字色を変更する方法

Written by takashings posted on 6月 22, 2014 in Objective-C

Objective c uitextfield placeholder 01

@takashingsです。
新作アプリ、ガンガン作っています。

今回もカスタマイズ系のお話です。
今回はUITextFieldのプレースホルダー(placeholder)の文字色を変える方法をご紹介。


まず基本的なお話。
プレースホルダーっていうのは、こういうのですね。

Objective c uitextfield placeholder 02

入力する項目で、どういうものを入力すればいいのかを知らせるものです。
何かしらの文字を入力すると、このプレースホルダーは消えます。

たとえば、iPhoneのSpotlightのこの”iPhone を検索”の部分がプレースホルダーですね。

Objective c uitextfield placeholder 03

ちなみに、プレースホルダーの文字入力はこれで設定。

self.textField.placeholder = @"プレースホルダー";

今回したいこととしては、このプレースホルダーの文字色を変えたい。

その場合は”placeholder”ではなく、こちらで設定します。

UIColor *color = [UIColor redColor];
self.textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"プレースホルダー"
                                                                       attributes:@{ NSForegroundColorAttributeName:color }];

これでこんな感じになります。
プレースホルダーなのか若干わかりにくいですが、きちんとプレースホルダーの色が変わっています。

Objective c uitextfield placeholder 04

iOS6から使えるようです。
iOS7主流になってきているので、そこまで気にしなくてもいいですかね。。。
もしiOS5以前をカバーしているなら、分岐する必要がありますね。

使う場面的には、入力必須の部分とかでしょうか。
一部だけ色が変わっていると、目に付きやすいかと思います。

使う場面は限られるとは思いますが、こんなこともできる、ということで。

参考:Changing UITextField Placeholder font



この記事をシェアする

  • このエントリーをはてなブックマークに追加