現在、xcode でテキストフィールドをフォーマットしています。5 文字ごとにハイフンを追加しています。しかし、私は現在 textfields.text.length を確認したいという多くの問題を抱えており、長さが 23 文字に達すると、送信ボタンを押すことができます。これまでのところ、ユーザーが23文字を入力し、ユーザーが戻って1文字を削除することを決定した場合にボタンを押すことができる場合、新しいテキストの長さを更新する方法がわからないため、これは問題があります。テンキーの削除ボタンをキャッチするには... 誰かこれを行う方法を知っていますか?
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *separator = @"-";
int seperatorInterval = 5;
NSString *originalString = [regTextField.text stringByReplacingOccurrencesOfString:separator withString:@""];
if (![originalString isEqualToString:@""] && ![string isEqualToString:@""]) {
NSString *lastChar = [regTextField.text substringFromIndex:[regTextField.text length] - 1];
int modulus = [originalString length] % seperatorInterval;
[self validateTextFields];
if (![lastChar isEqualToString:separator] && modulus == 0) {
regTextField.text = [regTextField.text stringByAppendingString:separator];
}
}
[self validateTextFields];
return YES;
}
-(IBAction) validateTextFields {
if (regTextField.text.length >= 22){
[submitButton setEnabled:YES]; //enables submitButton
}
else {
[submitButton setEnabled:NO]; //disables submitButton
}
}