2013-10-14 4 views
8

Каков подходящий способ в iOS 7 для проверки правильности ввода текста? Есть ли альтернатива отображению диалога?Подтверждение ввода UITextField в iOS 7

У меня нет большого опыта работы с IOS приложениями (я больше андроида вентилятора), и я хотел бы, чтобы это было похоже на андроид:

mEditText.setError("Error string"); 

Ближайшей вещь, я нашел это library, но Я хотел бы знать, есть ли что-то родное в iOS (если возможно, я бы хотел избежать использования сторонних библиотек).

Заранее спасибо.

ответ

8

Я не знаю ничего такого простого, как упоминаемый вами андроид. Но как только вы определили, что значение недействительно в соответствии с @Herre_84, у вас есть несколько вещей, которые вы можете сделать, которые не связаны с созданием диалогового окна предупреждения.

Общепринято, чтобы использовать наложения сверху UITextField, чтобы указать, что это значение является ошибкой. Имеются оверлейные виды, доступные вам слева и справа от UITextField. Вы можете поместить в них изображения, которые указывают действительный статус входа, как в ответе на this question. Более подробная информация находится в the official Apple documentation.

Еще одна вещь, которую вы можете сделать, это использовать свойство attributedTextUITextField, чтобы указать, что текст недействителен. Например, вы можете сделать неправильный текст другим цветом. TSValidatedTextField демонстрирует, как это сделать.

Наконец, вы можете использовать совершенно отдельный вид (возможно, рядом с вашим UITextField), который вы обновляете с информацией о действительности. Вам нужно подключить два вида, возможно, через общий родительский контроллер представления, чтобы осуществлять связь между ними.

2

Нет стандартного или конкретного способа проверки текста «iOS7». Вы могли бы, однако реализовать свой собственный «рамки проверки» (по аналогии с тем, который Вы указываете в ссылке вы добавили), используя собственные методы делегата UITextfield «s как

  • - (void)textFieldDidEndEditing:(UITextField *)textField, который указывает на то, что пользователь закончит редактирование (например, когда он отклонил клавиатуру или нажал кнопку «Готово»)
  • - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string, который запускается, когда новый символ вводится в UITextField.

На основе этих событий можно оценить в UITextField текущего NSString, используя его text свойства и адаптировать пользовательский интерфейс соответствующим образом.

+1

Возможно, я не был достаточно ясен с моим вопросом, но моя проблема не в том, чтобы ** когда ** проверять, но как реагировать на неуспешную проверку (отсюда пример android с помощью editText.setError ("");). – micromanc3r

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