изменить тип клавиатуры во время ввода iPad UITextField? - PullRequest
1 голос
/ 31 октября 2011

В Канаде наши почтовые индексы имеют форму ANA NAN, где A является буквенным (A-Z), а N является числовым (0-9). Ввод этих значений на iPad может быть болезненным, поскольку пользователь постоянно переключается на цифровую клавиатуру и обратно.

Я пытался изменить стиль клавиатуры при вводе каждого символа, но клавиатура устанавливается при установке первого респондента.

Кто-нибудь знает, как я могу упростить ввод данных такого типа для пользователя? Большое спасибо.

Ответы [ 3 ]

1 голос
/ 17 ноября 2011
searchBar.keyboardType = <somehow determine needed type>;

// Hack: force ui to reflect changed keyboard type
[searchBar resignFirstResponder];
[searchBar becomeFirstResponder];

Хотел бы я взять кредит на это, но вся слава принадлежит Хейко Беренсу. Я просто скопировал и вставил его код для вашего удобства.

справочный пост

0 голосов
/ 12 июля 2012

Я нашел способ решить эту проблему.Это не так элегантно, как создание собственной клавиатуры, но хорошо подходит для моего случая использования.По сути, я просто выбрасываю вторую цифровую клавиатуру на экран, когда мне нужно сделать почтовые индексы.Смотрите прикрепленное изображение.Ваш пробег может варьироваться.

screen shot with postal code numeric keypad display

0 голосов
/ 31 октября 2011

Это хороший вопрос, и ввод почтовых индексов также болезнен для Великобритании - у нас даже нет преимущества стандартного формата!

Вы можете подать в отставку и заново установить первый респондент в текстовом поле, но это будет выглядеть ужасно, когда клавиатура подпрыгивает вверх и вниз. В качестве альтернативы, вы можете создать вспомогательное представление ввода с помощью цифровых кнопок, это будет отображаться в верхней части клавиатуры, как стандартная цифровая строка. Ужасность этого будет зависеть от того, насколько хорошо вы подобрали кнопки к существующим кнопкам клавиатуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...