我正在使用 UITextFieldDelegate 但我正在使用的方法:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
仅在编辑文本之前触发 get 。我需要他们输入字母后的文本长度。使用上面的方法,我总是落后 1 个字母。
我正在使用 UITextFieldDelegate 但我正在使用的方法:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
仅在编辑文本之前触发 get 。我需要他们输入字母后的文本长度。使用上面的方法,我总是落后 1 个字母。
试试这个以获得新的长度:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSUInteger length = [[textField text] length] - range.length + string.length;
return YES;
}
您需要做的是将一个方法连接到您的 UITextField 以用于“编辑更改” - 事件。然后每次用户输入(或删除)一个字母时,该方法将被立即调用。希望能帮助到你!