打字时放入括号?

时间:2012-11-18 02:42:59

标签: objective-c ios xcode uitextfield

  

可能重复:
  Localized phone number formatting

我正在尝试将其输入到您键入电话号码的位置,而键入时,它会意识到有这么多字符并添加到括号中:(xxx)xxx-xxxx。我已经查看Stack Overflow对我的问题的任何类似答案,并且我出现了this link

但是,我不能使用十进制形式的转换来解决我的问题,但是我可能应该使用textField:shouldChangeCharactersInRange:withString:方法获得更多的知识。我也需要在电话号码中添加连字符,但想想我是否可以为其他人做这个。我可以为另一个做。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

这个怎么样:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    if (textField.text.length == 0)
     textField.text = [NSString stringWithFormat:@"(%@",textField.text];

    if (textField.text.length == 4)
        textField.text = [NSString stringWithFormat:@"%@) ",textField.text];

    if (textField.text.length == 9)
        textField.text = [NSString stringWithFormat:@"%@-",textField.text];

    if (textField.text.length > 13)
        return NO;

    return YES;
}