我的应用程序上有一个UITextField
接收号码的 a。
我希望这个数字以特定格式表示,如下所示:(62) 1234 1234
问题是:我已经控制了方法-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
,但我不知道如何制作这个“面具”
目前我正在这样做:
string = [textField.text stringByReplacingCharactersInRange:range withString:string];
string = [[string componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""];
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:string];
NSLog(@"%@", myNumber);
在这段代码的末尾,我有两件事:
- string :我的文本的字符串表示形式(例如
6212341234
作为 aNSString
) - myNumber :此字符串的编号(例如
6212341234
作为 aNSNumber
)
我怎样才能创建这个字符串:(62) 1234 1234
基于myNumber
或string
?
编辑
回答 rdelmar 问题:
该数字可以有 10 或 11 个数字,我打算像这样分开它们:
(62) 1234 1234
或(62) 12345 1234