Пользовательское расширение клавиатуры с помощью UITextField

У меня есть собственное расширение клавиатуры с UITextField в нем. Я могу переключиться на UITextFieldввод текста, но не может переключиться обратно на self.textDocumentProxy, Кто-нибудь знает, как сделать что-то вроде [self.textDocumentProxy becomeFirstResponder]?

(Кстати, похоже, приложение "GIF Keyboard" предоставляет такую ​​возможность)

1 ответ

Решение

Я реализовал следующий обходной путь для этого:

  1. мой textFied наследуется от UITextField, UserInteraction отключен, чтобы предотвратить becomeFirstResponder (потому что вы не можете вернуться к системному вводу). Я добавил мигание UIView как имитация курсора ( мигающая анимация). Изменить этот курсор origin.x в переписанном setText: метод расчета длины текущей строки (используйте boundingRectWithSize: метод для этого).

  2. Когда пользователь что-то печатает, я проверяю, textField активен (показан) и затем добавляет / удаляет символы textFieldsetText:) или же self.textDocumentProxyinsertText:/deleteBackward методы соответственно.

Другие вопросы по тегам