UITextFieldでキャレットが表示されなくて小一時間悩む

UITextFieldでキャレットが表示されない

UITextFieldでキャレット(文字の入力位置のカーソル)が表示されない問題に遭遇しました。キャレットがないだけで「ちゃんと入力できるのかな?」と不安になりますね。

シミュレーターの Debug > Color Blended Layers にチェックを入れると、キャレットの位置で緑色が点滅するので、システム的には表示しているつもりでいるようです。

UITextFieldでキャレットが表示されない

キャレットの色がおかしいのかも??
というわけで、tintColorを設定してみたら無事表示されました。

textField.tintColor =  UIColor.redColor()

UITextFieldでキャレットが表示されない

このあと原因がわかったのですが、Global Tintに白を設定していて、背景色と同じになっていたためでした。

UITextFieldでキャレットが表示されない

UITextFieldのtintColorはキャレットだけ別カラーに設定したい場合に使えますね。

タイトルとURLをコピーしました