Pergunta

No meu aplicativo para iPhone, eu tenho um textfield para aceitar o número de telefone. Preciso exibir o número no formato do número de telefone dos EUA. É como (000) 000-0000. Normalmente, como a entrada do número de telefone de contato do iPhone. Como posso fazer isso. Qualquer idéia será muito apreciada.

Nenhuma solução correta

Outras dicas

Para formatação automática, eu usei addTarget em combinação com o meu PhoneNumberFormatter este Adão gentilmente referenciado. A implementação é descrita aqui.

Você receberá o número de telefone formatador de

http://the-lost-beauty.blogspot.com/2010/01/locale-sensitive-phone-number.html

Não se esqueça de usar a classe PhoneNumberFormatter. Esta aula também está disponível naquele blog

Como o usuário está inserindo o número de telefone manualmente no campo de texto, você pode usar o método uitextfieldDelegate textField:shouldChangeCharactersInRange:replacementString: Para alterar dinamicamente o número de telefone inserido, adicionando '(' antes do 1º dígito ')' após a entrada de 3 dígitos '-' após 6 dígitos. (ou) Após a entrada da entrada do número, você pode alterar o formato exibido como este:

- (BOOL) textFieldShouldReturn:(UITextField *)textField {
     //resign the keypad and check if 10 numeric digits entered...
     NSRange range;
     range.length = 3;
     range.location = 3;

textField.text = [NSString stringWithFormat:@"(%@)%@-%@", [textField.text substringToIndex:3], [textField.text substringWithRange:range], [textField.text substringFromIndex:6];
}
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
     //resign the keypad and check if 10 numeric digits entered...
     NSRange range;
     range.length = 3;
     range.location = 3;

textField.text = [NSString stringWithFormat:@"(%@) %@-%@", [textField.text substringToIndex:3], [textField.text substringWithRange:range], [textField.text substringFromIndex:6];
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top