2

毎回、ios 6 で安全な textField に問題が発生しました。キーボードの [完了] ボタンをクリックすると、コンテンツが自動的に消去されます。安全な 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 に答える