2014-10-20 45 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; 
    } 
} 

這也可能有幫助。

相關問題