Custom Keyboard extension with UITextField

2019-01-23 21:16发布

I have custom keyboard extension with UITextField in it. I am able switch to UITextField's text input, but cannot switch back to self.textDocumentProxy. Does anybody know, how to do something like [self.textDocumentProxy becomeFirstResponder]?

(By the way, it looks like "GIF Keyboard" app provides such possibility)

1条回答
倾城 Initia
2楼-- · 2019-01-23 21:45

I've implemented next workaround for this:

  1. My textFied inherits from UITextField. UserInteraction disabled to prevent it from becomeFirstResponder (because you are not able switch back to system input). I've added blinking UIView as cursor imitation (blinking animation). Change this cursor origin.x in overwrited setText: method by calculating length of current string (use boundingRectWithSize: method for this).

  2. When user types something I am checking if textField is active (showed) and then adding/removing symbols to textField (with setText:) or self.textDocumentProxy insertText:/deleteBackward methods accordingly.

查看更多
登录 后发表回答