2

每个人,我在 ios 6 中都遇到了安全 textField 的问题。当我点击键盘上的完成按钮时,它会自动删除内容。我检查了安全文本字段的值。中textFieldShouldReturnsecureTextField.text是正确的。但是在 中textFieldDidEndEditingsecureTextField.text变为 nil。

相同的 secureTextField 在 ios 5.1 上完美运行。如果我将secureTextField设置为普通的textField(不安全),那么一切顺利。也就是说,notSecuredTextField.text 无论是 intextFieldShouldReturn还是 in都是正确的textFieldDidEndEditing

任何的想法?

这是代码:

  • (BOOL)textFieldShouldReturn:(UITextField *)theTextField{

    if (theTextField == self.textFieldPassword){
        if ([self.textFieldUserName.text length] != 0){
            [self loginMe];
            NSLog(@"should return %@", self.textFieldPassword.text);//The value is correct
            [self.textFieldPassword resignFirstResponder];
        }
    }
    return YES;
    

    }

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    NSLog(@"Did End Editing %@", self.textFieldPassword.text);
    if(textField == _textFieldPassword){
        NSLog(@"in text field did end editing %@", self.textFieldPassword.text); // The value is null
    }    
}
4

1 回答 1

1

似乎调用resignFirstResponder会导致不希望的行为。所以在调用该方法之前复制数据可以解决这个问题。当然,这并不能真正解决问题,它只是隐藏问题的一种解决方案。

我为 iOS 6 创建了一个新项目,但问题没有出现。

于 2012-12-07T09:46:30.113 回答