ios - 安全的 UITextField 文本颜色

标签 ios objective-c uitextfield textcolor

我有几个用于注册新帐户的 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/

相关文章:

objective-c - UIAlertView 文本字段捕获 onchange

iphone - 在 xcode 4.2 中完成调试

ios - 访问解析数组元素

ios - 如何避免在带有槽口的设备上的 UICollectionView 搜索栏下方出现空白?

iphone - Objective-C 等效于 curl 请求

iphone - 工具栏不会显示在键盘上方

ios - 使用 2 个排序描述符对数组进行排序

ios - UIDatePicker 不弹出

ios - 从 iOS 应用程序启动 SIRI

objective-c - 在 iPhone 的 UITextField 中验证电子邮件地址