我有几个用于注册新帐户的UITextFields:name、password等。password文本字段在故事板中是安全的。服务器返回验证信息,例如密码是否太短等。
当返回验证错误时,我将相应textField的textColor更改为red,以突出显示它有一个错误。
[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“事件的操作将颜色改回黑色。
- (IBAction)textFieldDidChange:(id)sender {
UITextField *textField = (UITextField*)sender;
textField.textColor = [UIColor blackColor];
}在模拟器中(我还没有在设备上尝试过),这对除密码文本字段之外的所有textfields都适用。具体地说,当我编辑密码textfield时,它会变成黑色,但是一旦textfield失去焦点,安全点就会变成红色。你知道为什么会这样吗?怎么解决呢?
发布于 2014-01-30 19:51:04
我想这是个bug。我遇到了完全相同的问题,并通过在编辑结束时强制文本字段为所需的颜色来解决它。
- (void)textFieldDidEndEditing:(UITextField *)textField {
if (textField == passwordTextField) {
[textField setTextColor:defaultTextColour];
}希望这能有所帮助!
https://stackoverflow.com/questions/20139477
复制相似问题