Ограничение ввода в текстовое поле только одной десятичной запятой

Я создал текстовое поле для ввода суммы денег. Я хочу, чтобы пользователь мог вводить только одну десятичную точку. Я реализовал это в методе - (BOOL) textField: (UITextField *) textField shouldChangeCharactersInRange: (NSRange) range replaceString: (NSString *) string .

В общем случае он работает нормально, но если нажата клавиша «Backspace» и одна десятичная точка удалена, после этого все еще предполагается, что десятичная точка была введена, и поэтому десятичная точка снова не принимается.

Мне нужно сбрасывать флаг decimalPointEntered всякий раз, когда десятичная точка удаляется нажатием клавиши Backspace. Как это сделать?

6
задан jscs 10 November 2011 в 17:44
поделиться