我遇到了经典配置的问题:用户名/密码textfields。 没什么特别的,只有2个UITextFields,一个带有" Secure Text Entry"检查,那就是它。
当我点击用户名文本字段时,这是正常的。 然后我点击密码文本字段,文本是安全的(大点)。 当我再次点击用户名文本字段时,两个文本字段的文本都是安全的!
如果在再次点击用户名密码之前点击密码文本字段之外,文本仍然是安全的。 但是,如果之后,我在用户名文本字段之外点击,然后再次在用户名文本字段上,则文本不受保护。 此外,如果我在保护时更改用户名文本字段的文本,它将再次变为正常。
iOS8(不是iOS7)上发生错误。
有什么想法吗? 谢谢!
答案 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;
}
}
这也可能有所帮助。