2014-08-31 3 views
0

У меня есть код в моем приложении, который форматирует значения, введенные пользователем при вводе. Текстовое поле форматирует ввод с символом локальной валюты пользователя и десятичной точкой.Автоматическое форматирование текстового поля не работает в iOS 7

Проблема заключается в том, что, хотя это отлично работает в iOS 8 для многих валют, таких как евро, доллары, фунты стерлингов и т. Д. ..., оно не форматируется должным образом для некоторых из этих валют в iOS 7. Я только что изменил мой целевой объект развертывания от iOS 8 до iOS 7 и заметил это как проблему.

Вот мой код:

func textFieldDidChangeValue(textField: UITextField) { 
    //Automatic formatting for transaction value text field. Target is added above. 

    var text = textField.text.stringByReplacingOccurrencesOfString(currencyFormatter.currencySymbol, withString: "").stringByReplacingOccurrencesOfString(currencyFormatter.groupingSeparator, withString: "").stringByReplacingOccurrencesOfString(currencyFormatter.decimalSeparator, withString: "") 
    textField.text = currencyFormatter.stringFromNumber((text as NSString).doubleValue/100.0) 
    currencyDouble = (text as NSString).doubleValue/100.0 
    println(currencyDouble) 

    valueEnter.alpha = 100 
} 

При изменении местоположения устройства в европейскую страну (для евро) и попытаться ввести значение, то первое число правильно поступает, но после этого я не могу войти что-нибудь еще или не удалять введенное значение.

Что касается iOS 7-8 в отношении этой функции и как ее исправить?

ответ

0

Оказывается, что есть странный символ, который добавляется к форматированному тексту. Чтобы исправить проблему, вы должны напечатать текст в текстовом поле и скопировать любой символ, который вы видите между последним номером и символом валюты.

Это мое сообщение на форумах разработчиков, если вам нужно лучшее объяснение: https://devforums.apple.com/message/1032392#1032392

Смежные вопросы