2014-10-20 47 views
5

我遇到了经典配置:用户名/密码textfields的问题。 没什么特别的,只有2个UITextFields,其中一个选中了“Secure Text Entry”,就是这样。iOS 8 - 用户名UITextField在成为第一响应者后保护条目在密码文本字段后

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

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

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

有什么想法? 谢谢!

+0

您是否在代码中设置安全文本输入? – Aaron 2014-10-23 16:45:55

+0

不,刚使用xib文件中的复选框 – APE 2014-10-26 22:12:49

+1

我有同样令人沮丧的错误。我开始想,它可能是一个iOS8的错误 – TMob 2015-01-20 09:15:43

回答

4

我的同事补充说,它的工作

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

这只发生在您的用户名和密码文本字段中有相同文本时。这是一个iOS8-Bug,但由于这种情况很可能在“现实世界”情景中永远不会发生,所以它并没有那么糟糕(尽管如此,仍然很麻烦)。 只要用户名不再与密码匹配,就会像在iOS7中一样工作。

我希望这可以帮助你有点

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; 
    } 
} 

这也可能有帮助。

相关问题