iOS экранная клавиатура: как я могу предотвратить ее появление, если присутствует аппаратная клавиатура? - PullRequest
0 голосов
/ 22 января 2020

Я поддерживаю приложение iPad для профессиональных конечных пользователей. Он имеет UITextField для приема только ASCII-строк. Все пользователи имеют физические Bluetooth-клавиатуры и вообще не хотят видеть (навязчивую) экранную клавиатуру. Как это подавить?

Правила, определяющие, когда / когда появляется экранная клавиатура, сложны и сложны в коде, если не готовы принять поведение по умолчанию [UITextField]. Что пользователи не являются. До 2010 года оригинальный кодер написал громоздкое решение. Если это сработало, iOS изменилось, чтобы сломать его. Я бы приветствовал надежную технику Objective- C, которая вряд ли сломается в ближайшие 10 лет, достаточно простую для того, чтобы следующий кодер мог ее понять - и удалить.

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

Как мне написать самый простой такой вариант?

...