2011-01-13 2 views
0

Теперь я работаю над приложением, которое содержит раздел реестра учетной записи. Одно поле с secureTextEntry = NO (только для регистрации). Идея заключается в том, чтобы сделать регистрацию быстрее и, надеюсь, увеличит количество регистраций. Для меня достаточно просто разместить обычный UITextField, но если у пользователя есть дополнительные языковые клавиатуры, тогда пользователь может ввести символы, не поддерживающие пароль. В отличие от того, когда secureTextEntry = YES.Подавление кнопки выбора языка iPhone

Я знаю, что могу сделать

textField.keyboardType = UIKeyboardTypeASCIICapable 

, чтобы получить текстовое поле для отображения клавиатуры ASCII первой, но пользователь все равно будет иметь кнопку переключения клавиатуры, которая позволит им получить нежелательные символы.

Есть ли простой способ подавления международной кнопки или принудительной клавиатуры ASCII без международной кнопки?

[EDIT] Возможно, другим вариантом может быть подавление многобайтовых клавиатур или даже отображение текста в случае, если secureTextEntry = YES любые идеи здесь?

[РЕДАКТИРОВАТЬ СНОВА] Я решил, что это действительно плохая идея, чтобы подавить международную кнопку, поскольку все символы, не являющиеся многобайтными, должны быть разрешены.

+1

Вы спросили, и кто-то нашел время, чтобы ответить. Если этот вопрос удален, Олаф теряет ответ и реп. – Will

ответ

0

Посмотрите на -(BOOL) textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)textEntered.

Если ваши пользователи вводят что-то, что вам не нравится, то удалите его. Просто убедитесь, что они понимают, что конкретное письмо не принято. В противном случае пользователи будут смотреть на клавиатуру, но не на экран, и предположить, что они коснулись кнопки, символ вводится в пароль.

Это может быть проще, чем перепроектировать целую клавиатуру.

+0

Я играл с этим немного, но немного странно, когда пользователь нажимает на ключ и ничего не отображается в текстовом поле. Если на клавиатуре пользователя нет каких-либо символов ASCII, ничто не сможет быть введено. – AWinter

+0

Я вижу вашу точку зрения. С другой стороны, я задаюсь вопросом, насколько сильны вам ваши пароли. Весь пароль ASCII-символа довольно небезопасен. – Olaf

+0

Я полагаю, что лучшим вариантом может быть подавление многобайтовых клавиатур или даже отображение текста в случае, когда secureTextEntry = YES. Он выглядит secureTextEntry = YES, просто подавляет многобайтовый. – AWinter

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