我有几个用于注册新帐户的 UITextFields
:名称、密码等。密码文本字段在 Storyboard 中是安全的。服务器返回验证信息,如密码是否过短等。
当返回验证错误时,我将适当的 textField
的 textColor 更改为红色以突出显示它有错误。
[messages enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSString *validationObj = (NSString*)key;
NSArray *validationMsg = (NSArray*)obj;
if ([validationObj isEqualToString:@"password"])
self.registerFirstNameTextField.textColor = [UIColor redColor];
当他们开始编辑文本字段时,我使用连接到 TextField
的“EditingChanged
”事件的 Action 将颜色改回黑色。
- (IBAction)textFieldDidChange:(id)sender {
UITextField *textField = (UITextField*)sender;
textField.textColor = [UIColor blackColor];
}
在模拟器中(我没有在设备上尝试过),这适用于所有 textfields
,除了 Password 文本字段。具体来说,当我编辑密码 textfield
时,它会变成黑色,但是一旦 textfield
失去焦点,安全点就会变成红色。知道这是为什么以及如何解决它吗?
最佳答案
我认为这是一个错误。我遇到了完全相同的问题,并通过在编辑结束时将文本字段强制设置为所需的颜色来解决它。
- (void)textFieldDidEndEditing:(UITextField *)textField {
if (textField == passwordTextField) {
[textField setTextColor:defaultTextColour];
}
希望这对您有所帮助!
关于ios - 安全的 UITextField 文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20139477/