5

UITextField を含むカスタムキーボード拡張機能があります。のテキスト入力に切り替えることはできUITextFieldますが、元に戻すことはできませんself.textDocumentProxy。のようなことをする方法を知っている人はいます[self.textDocumentProxy becomeFirstResponder]か?

(ちなみに「GIFキーボード」アプリではその可能性があるようです)

4

1 に答える 1

3

これに対して次の回避策を実装しました。

  1. MytextFiedは から継承していUITextFieldます。UserInteractionそれを防ぐために無効にしbecomeFirstResponderます(システム入力に戻すことができないため)。UIViewカーソルの模倣として点滅を追加しました(点滅アニメーション)。現在の文字列の長さを計算することによりorigin.x、上書きされた方法でこのカーソルを変更します(これにはメソッドを使用します)。setText:boundingRectWithSize:

  2. ユーザーが何かを入力するtextFieldと、アクティブ (表示) かどうかを確認し、それに応じてtextField(with setText:) またはself.textDocumentProxy insertText:/deleteBackwardメソッドにシンボルを追加/削除します。

于 2015-12-24T16:22:04.767 に答える