4

キーボード拡張機能の 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 が私の番号キーボードを表示する唯一の方法のようです

望ましい結果

  1. ユーザーがキーボードの 123 ボタンを押す
  2. 文字キーボードがスーパービューから削除されました
  3. UIInputViewController.viewに数字キーボードを追加
  4. ユーザーが数字キーボードで ABC を押す
  5. 数字キーボードがスーパービューから削除されました
  6. UIInputViewController.viewに文字キーボードを追加

キーボード拡張機能で複数のビューを正常に追加および削除した人はいますか?

4

2 に答える 2

0

UIInputViewcontrollerには、extendsというUIInputView参照があります。inputViewUIView

inputViewサブビューを追加するビューです。

それはあなたの質問に答えていますか?

于 2014-07-14T15:26:07.887 に答える
0

私の問題は、Xcode 6 Beta 2 の問題に関連していました。Xcode Beta 3 で XIB ファイルを適切にロードできるようになりました。

このチュートリアルでは、それを行う手順について説明します: http://verisage.us/blog/2014/07/17/ios-8-custom-keyboard-swift-tutorial/

于 2014-07-19T04:01:23.090 に答える