キーボード拡張機能の UIInputViewController にはいくつかの制限があると考えています。
最初の問題:
サブビューをinputViewまたはビューに追加することはありませんが、ペン先からビューのインスタンスを作成すると、そのビューがデフォルトのビューとして自動的に設定されます。普通でない。
2番目の問題:
1 つの XIB ファイルに 2 つの個別のビューがあります。
1 つは文字キーボード (およびそのサブビュー) 用で、もう 1 つは数字キーボード (およびそのサブビュー) 用です。このキーボードを表示させる唯一の方法は、次を使用することです。
self.view!.insertSubview(self.mainViewNumberKeyboard, aboveSubview: self.mainViewLetterKeyboard)
これにより表示されますが、ビューはユーザーの操作を受け入れません。基になる文字キーボードのキーは、すべてのビューをインターセプトします。
私が行うと、self.mainviewLetterKeyboard.hidden = true
両方のビューが消えます(文字と数字のキーボード)。(これは、Apple にバグや問題がある可能性があると私が思うところです - これは起こるべきではありません)
それぞれ独自のキーボードを持つ 2 つの別個の XIB ファイルがある場合、同様の問題が発生します。UIInputViewController は、スーパービューからビューを完全に削除することを好まないようです。
3 番目の問題:
self.inputView が機能していないようです。サブビューを追加するとキーボードがクラッシュしますが、self.view!.insertSubview が私の番号キーボードを表示する唯一の方法のようです
望ましい結果
- ユーザーがキーボードの 123 ボタンを押す
- 文字キーボードがスーパービューから削除されました
- UIInputViewController.viewに数字キーボードを追加
- ユーザーが数字キーボードで ABC を押す
- 数字キーボードがスーパービューから削除されました
- UIInputViewController.viewに文字キーボードを追加
キーボード拡張機能で複数のビューを正常に追加および削除した人はいますか?