Вы хотели бы дать UITextField делегат и реализовать что-то для
- (BOOL) textField: (UITextField *) textField shouldChangeCharactersInRange: (NSRange) диапазон replaceString: (NSString *) строка
в том делегате, который проверил, был ли формат поля действительным, и изменил текст, если это так, вставив символы в выбранное место, вставив / удалив символ. / символ валюты, затем возвращается NO.
Хитрость заключается в том, что точка вставки переходит в конец поля всякий раз, когда вы заменяете текст поля - есть некоторые недокументированные API для получения / установки его позиции, но не официальные. В большинстве случаев это не проблема, поскольку маловероятно, что пользователь переместит курсор вставки в столь маленькое поле, но вы можете получить несколько жалоб.