2012-01-31 11 views
1

私はUITextFieldがウェブブラウザのアドレスバーです。ユーザーがページを読み込んでページの読み込みが完了したら、テキストフィールドにテキストの色を濃いグレーに変更します。これはちょうど良いことです。しかし、ユーザーがテキストフィールドを再度編集するとき、テキストの色を黒に戻したい。 -(BOOL) textFieldShouldBeginEditing:(UITextField *)textFieldメソッドを使用して、addressBar.textColor = [UIColor blackColor];を使用して色を変更しようとしましたが、機能しません。私は間違って何をしていますか?UITextFieldはテキストの色を正しく変更しません

+1

あなたがデリゲートを設定しましたメソッドが呼び出されるようにテキストフィールドの? –

+0

私はそうは思わない。病気が戻って、その方法で – Slayter

答えて

1

textFieldShouldBeginEditing:が呼ばれていますか?そうでなければ、このメソッドを実装するクラスにテキストフィールドのデリゲートを設定する必要があります。

addressBarは、デリゲートメソッドの呼び出し時にテキストフィールドに設定されていますか?

NSLogを使用してデバッグを試みてください。

+0

をチェックして、私はテキストフィールドとしてアドレスバーをチェックしますが、私はあなたがテキストフィールドの代理人を設定することについて正しいかもしれないと思います。私はそれをやったとは思わない。ありがとう – Slayter

0

iOS 7以上でうまく動作するソリューション。

あなたのUITextViewは、住所/電話番号/などであることが検出されたテキストが含まれている場合は、このように、検出されたアイテムのテキストの色を変更するにはtintColorを設定するために持っている:

self.tvPhone.tintColor = [UIColor blueColor]; 
+0

この質問は2年前に回答されました。受け入れられた答えに対するコメントで述べたように、私はtextFieldの代理人を設定していませんでした。 – Slayter

関連する問題