iOS 8 - 用户名UITextField在密码文本字段后成为第一响应者时保护条目

时间:2014-10-20 00:10:36

标签: ios uitextfield

我遇到了经典配置的问题:用户名/密码textfields。 没什么特别的,只有2个UITextFields,一个带有" Secure Text Entry"检查,那就是它。

当我点击用户名文本字段时,这是正常的。 然后我点击密码文本字段,文本是安全的(大点)。 当我再次点击用户名文本字段时,两个文本字段的文本都是安全的!

如果在再次点击用户名密码之前点击密码文本字段之外,文本仍然是安全的。 但是,如果之后,我在用户名文本字段之外点击,然后再次在用户名文本字段上,则文本不受保护。 此外,如果我在保护时更改用户名文本字段的文本,它将再次变为正常。

iOS8(不是iOS7)上发生错误。

有什么想法吗? 谢谢!

3 个答案:

答案 0 :(得分:4)

我的同事补充说,它起作用了

-(void)textFieldDidBeginEditing:(UITextField *)textField
{
    if (textField == self.usernameText)
    {
        self.usernameText.secureTextEntry = YES;
        self.usernameText.secureTextEntry = NO;
    }
}

答案 1 :(得分:1)

只有在用户名和密码文本字段中包含相同文本时才会发生这种情况。这是一个iOS8-Bug,但由于这很可能永远不会发生在“真实世界”的场景中,它并不是那么糟糕(尽管仍然很漂亮)。 一旦用户名不再与密码匹配,它就像在iOS7中那样工作。

我希望这能帮到你一点

答案 2 :(得分:0)

  

usernameTextField.tag = 0;   passwordTextField.tag = 1;

-(void)textFieldDidBeginEditing:(UITextField *)textField
{
    switch(textField.tag) {
        case 0:
        textField.secureTextEntry = NO;
        break;
        case 1:
        textField.secureTextEntry = YES;
        break;
        default:
        break;
    }
}

这也可能有所帮助。