2015-12-03 3 views
0

В моем приложении используется Cordova, поэтому в веб-просмотре выполняется ряд функций.Получить экземпляр iOS-клавиатуры без первого ответчика

В одном из моих веб-просмотров есть объект, который вызывает клавиатуру.

Вся документация и ответы SO при изменении клавиатуры связаны с установкой значений первого ответчика. Моя проблема в том, что с моей стороны у меня нет первого ответчика.

Так что мой вопрос:

Могу ли я получить доступ к объекту клавиатуры без первого ответчика, и если да, то каким образом?

Swift/Obj-C ответов приветствовать

+0

Что вы понимаете, меняя клавиатуру? – connor

+0

Формулировка ключа возврата. Так что измените его на «Go» «Next» и т. Д. – Aggressor

ответ

1

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

Идея состоит в том, чтобы вручную изменить виды клавиатуры. Существует плагин Apache, который использует это, чтобы скрыть панель аксессуаров формы на клавиатурах. Вы можете видеть, как они это делают. here. Однако вам нужно будет искать обратный ключ, а не панель формы. Конечно, это не поддерживается и, скорее всего, сломается в какой-то момент.

Другим вариантом может быть использование swizzling для изменения UIWebView для использования UIReturnKeyType, который вы хотите. Вам нужно будет посмотреть на сброс заголовков, чтобы найти возможную отправную точку. Этот вариант также может сломаться вместе с возможностью Apple отклонить ваше приложение.

+0

Наверное, перебор. Swizziling также не предоставляет надежных опций для его изменения на лету. Я посмотрю на плагин Apache! – Aggressor