Я думаю, что ваша проблема в том, что NSNumberFormatter
не поддерживает скобки, пробелы или тире. Я пытался реализовать тот же метод, что и вы, и он молча провалился и просто выводил неформатированный текст.
Общая проблема здесь заключается в том, что iPhone SDK не предоставляет метод для форматирования телефонных номеров в зависимости от локали.
Я поднял ошибки в Apple по следующим причинам (две из них были дубликатами известных проблем, поэтому я включил в них оригинальную ошибку # Apple):
#6933244 - Need iPhone SDK interface to format text as locale dependent phone number
#5847381 - UIControl does not support a setFormatter method
#6024985 - Overridden UITextField drawTextInRect method is never called
В идеальном мире Apple предоставила бы NSPhoneNumberFormatter
, и вы бы назвали setFormatter
на своем UIControl
, чтобы он отображал text
довольно симпатичным способом. К сожалению, этого не существует на iPhone.