0

カスタムTableViewCellのインスタンスを使用するtableViewがあります。各カスタムセルには、テキストフィールドとラベルがあります。

textFieldのテキストが変更されるたびに、画面のメインUIViewにある別のtextFieldで更新を行う必要があります。

全部で6行あります

問題:UITextFieldTextDidEndEditingNotificationは、最初の試行で1行目、4行目、および6行目でのみトリガーされます。次に、2回目の試行では、1回目と4回目でのみ機能します。私がデバッグするとき、それは時々動作しますが、それから再び動作しません。

=>ランダムに動作しているようです。

何が起こっているのか理解できません。誰かが原因を突き止めるための手助けやヒントを提供できますか?

4

2 に答える 2

5

受け入れられた答えは問題を解決しますが、質問には答えません。

が機能しなかった理由UITextFieldTextDidEndEditingNotificationは、この通知は、ユーザーがフィールドの編集を終了してキーボードを閉じるか、別のテキストフィールドを選択したときにのみ発生するためです。

観察すべきだったUITextFieldTextDidChangeNotificationのは、テキストが変更されるたびに起動するです。

于 2012-09-04T10:18:52.810 に答える
0

また、UITextFieldTextDidEndEditingの代わりに次のコールバックメソッドを使用することをお勧めします

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

    return YES;
}
于 2012-09-03T14:25:56.310 に答える