2010-03-27 3 views
0

Я хочу отключить или также у меня нет разрешения на ввод альфа-буквенно-цифрового символа в специальном символе в UITextField. Я имею в виду, когда пользователь вводит альфа-и специальный символ в текстовое поле, тогда я хочу, чтобы окно всплывающего окна быстро отображалось У него только есть 0, 1-9 цифр. Пожалуйста, дайте мне исходный код и учебные пособия.Как отключить альфа, буквенно-цифровой и специальный символ в UITextField?

ответ

0

Взгляните на протокол UITextFieldDelegate. Существует метод под названием textField:shouldChangeCharactersInRange:replacementString:, где вы можете проверить строку замены и вернуть NO, если она попадает в один из запрещенных наборов. Что касается самой проверки, см. Метод rangeOfCharacterFromSet: класса NSString и класс NSCharacterSet.

+0

zoul. Вышеуказанный метод подходит для персонажа, но он должен работать для специальных символов? – Tirth

+0

В 'NSCharacterSet' существует метод' invertedSet', так что вы можете проверить, содержит ли строка некоторые символы из инвертированного набора 'decimalDigitCharacterSet'. Если да, вы запрещаете строку. Это должно допускать только десятичные цифры (если это то, что вы хотите). – zoul

1

Позвоните setKeyboardType: на свой UITextField и передайте одну из констант UIKeyboardType. Я не уверен, какой из них подходит вашему описанию.

- (void)awakeFromNib 
{ 
    [textField setKeyboardType:UIKeyboardTypeNumberPad]; 
} 
+0

Todd Yandell, Я уже изменяю UIKeyboardTypeNumberPad в представлении дизайна, но затем UITextField позволяет мне вводить альфа-символы и специальные символы в текстовом поле. – Tirth

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