Привет был точно такой же проблемы, и я не вижу ответ, который я использовал опубликовал, так что вот оно.
Я создал и соединил свое текстовое поле через IB. Когда я подключил его к своему коду через Control + Drag, я выбрал «Действие», затем выбрал событие «Редактирование изменения». Это вызывает метод для каждой записи символа. Вы можете использовать другое подходящее событие.
Впоследствии я использовал этот простой код для замены текста. Обратите внимание, что я создал свой собственный набор символов, включающий десятичный знак / точку и цифры. В основном разделяет строку на недопустимые символы, а затем соединяет их с пустой строкой.
- (IBAction)myTextFieldEditingChangedMethod:(UITextField *)sender {
NSCharacterSet *validCharacterSet = [NSCharacterSet characterSetWithCharactersInString:@".0123456789"];
NSCharacterSet *invalidCharacterSet = validCharacterSet.invertedSet;
sender.text = [[sender.text componentsSeparatedByCharactersInSet:invalidCharacterSet] componentsJoinedByString:@""];
}
Кредиты:
Удалить все, кроме цифр, из NSString