我正在做项目有一个电话号码文本字段。我想添加电话号码,例如 (123)123-1234 当用户点击 textField 时,它会自动添加“(”并且在三个数字之后自动添加“)”然后在三个数字之后添加“-”然后在 4 个数字文本字段之后不允许任何进一步的数字相加
这是我正在尝试使用的代码
但是当我尝试删除它停留在“-”的数字时出现了一个问题
- (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;
}