Я пытаюсь форматировать ввод валюты в текстовое поле в Swift, когда пользователь вводит его.
До сих пор я мог только форматировать его успешно, когда пользователь заканчивает ввод:
@IBAction func editingEnded(sender: AnyObject) {
let formatter = NSNumberFormatter()
formatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle
formatter.locale = NSLocale(localeIdentifier: "en_US")
var numberFromField = NSString(string: textField.text).doubleValue
textField.text = formatter.stringFromNumber(numberFromField)
}
Однако я хотел бы, чтобы валюта отформатировалась в тот момент, когда пользователь вводит ее. Когда я пытаюсь сделать это в действиях TextField "Редактирование изменено" или "Изменено значение", я могу ввести только 1 номер (если я нахожу 8, он становится 8,00 долларов США), но затем, когда я ввожу второй номер, все идет до $0.00, а я не может войти дальше.
Любые предложения? Я чувствую, что это должно быть легким решением, но я не могу это понять.