私はプロジェクトに取り組んでいます電話番号のテキストフィールドがあります。(123)123-1234 のような電話番号を追加したい ユーザーが textField をクリックすると、自動的に "(" が追加され、3 つの数字の後に ")" が追加され、3 つの数字の後に "-" が追加され、4 つの数字のテキスト フィールドが許可されませんでしたそれ以上の数字の追加
ここに私が使用しようとしている私のコードがあります
しかし、「-」でスタックした数字を削除しようとすると、1 つの問題があります。
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range
replacementString: (NSString*) string {
if (textField == _phoneNumberTextFieldPersonalData) {
NSString *text = [textField.text stringByReplacingCharactersInRange:range
withString: string];
if (text.length == 1 ) { //or probably better, check if int
textField.text = [NSString stringWithFormat: @"(%@", text];
return NO;
}
else if (text.length == 4)
{
textField.text = [NSString stringWithFormat: @"%@)", text];
return NO;
}
else if (text.length == 8)
{
textField.text = [NSString stringWithFormat: @"%@-", text];
return NO;
}
else if (text.length >= 14)
{
[textField resignFirstResponder];
return NO;
}
}
return YES;
}