Как проверить, есть ли в UITextField числовые, буквенные или буквенно-цифровые записи в приложении для iPad?

В моем приложении для iPad у меня есть UITextField. Пользователь должен вводить только числовые. Если пользователь вводит алфавитный или буквенно-цифровой текст, должно появиться предупреждающее сообщение «Вводите только числовые». Какое условие я должен применить, чтобы найти введенный текст числовым, алфавитным или буквенно-цифровым? Любая помощь будет высоко ценится.

Спасибо и привет

PC


person Prateek Chaubey    schedule 08.05.2012    source источник
comment
Используйте регулярное выражение: stackoverflow.com/questions/422138/   -  person isaac    schedule 08.05.2012


Ответы (2)


Реализуйте метод UITextFieldDelegate

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string'

Затем вы можете отклонить определенные символы внутри этого метода.

Или установите стиль клавиатуры: .keyboardType = UIKeyboardTypePhonePad;

person Adam Johnson    schedule 08.05.2012
comment
Ты победил меня на минуту. :) Хотя стиль клавиатуры не так хорош, как делегат из-за вставки ... и, возможно, внешних клавиатур. - person Phillip Mills; 08.05.2012
comment
@ Адам Джонсон: Привет, спасибо за ответ. Я изменил тип клавиатуры на числовую. Но у этой клавиатуры есть опция алфавитной клавиатуры. Можно как-нибудь скрыть эту кнопку? Таким образом, у этого пользователя нет возможности вводить алфавиты .. - person Prateek Chaubey; 09.05.2012

Вместо того, чтобы предупреждать, почему бы не предотвратить появление нежелательных персонажей?

Если вы реализуете textField:shouldChangeCharactersInRange:replacementString:, вы можете использовать его, чтобы определить, приемлем ли результат, и разрешить или запретить редактирование.

person Phillip Mills    schedule 08.05.2012
comment
Мой клиент хочет оповещения. Я также предложил им использовать цифровую клавиатуру, на что они согласились. Но все же они хотят бдительности. - person Prateek Chaubey; 08.05.2012