1

私は UITextFieldDelegate を使用していますが、使用している方法は次のとおりです。

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

テキストが編集される前にのみ発生します。文字を入力した後のテキストの長さが必要です。上記の方法を使用すると、常に 1 文字遅れます。

4

2 に答える 2

2

これを試して、新しい長さを取得してください。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    NSUInteger length = [[textField text] length] - range.length + string.length;
    return YES;
}
于 2013-02-19T14:50:51.867 に答える
0

あなたがする必要があるのは、「Editing Changed」イベントの UITextField にメソッドを接続することです。その後、ユーザーが文字を入力 (または削除) するたびに、そのメソッドが即座に呼び出されます。それが役に立てば幸い!

于 2013-02-19T14:51:59.877 に答える