UITextField
テキストの色を白に設定するサブクラスがあります。このサブクラスをメール フィールドとパスワード フィールドに使用しています。
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
self.clearButtonMode = UITextFieldViewModeWhileEditing;
self.layer.backgroundColor = [UIColor clearColor].CGColor;
self.textColor = [UIColor whiteColor];
[self setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];
......
......
パスワード フィールドは にsecureTextEntry
設定されてYES
おり、最初に入力すると、予想どおり色が白になります。次に、クリア ボタンをクリックして電子メール フィールドに注目し、パスワード フィールドに戻って入力を開始すると、テキストが黒くなります。
drawRect
オーバーライドで設定した色が失われた理由がわかりません。メール フィールドで同じ手順を試すと、フィールドを何度クリアしてフォーカスを外したり、フォーカスを戻したりしても、白いままです。
これは、セキュリティで保護されたテキスト入力に関係していると思います。この分野での助けは大歓迎です。ありがとう!