iOS 8键盘扩展 - UIInputViewController无法添加多个视图

时间:2014-07-10 18:48:37

标签: ios keyboard ios8 ios-app-extension

我认为键盘扩展上的UIInputViewController有一些限制。

第一个问题:

我从不向inputView或view添加子视图,但是当我从nib创建视图实例时,它自动将该视图设置为默认视图。不正常。

第二个问题:

我在一个XIB文件中有两个独立的视图。

enter image description here

一个用于字母键盘(及其子视图),另一个用于数字键盘(及其子视图)。我能让这个键盘出现的唯一方法是使用:

self.view!.insertSubview(self.mainViewNumberKeyboard, aboveSubview: self.mainViewLetterKeyboard)

这使其可见,但视图不接受用户互动。底层字母键盘中的键截取所有视图。

如果我self.mainviewLetterKeyboard.hidden = true两个视图都消失了(字母和数字键盘)。 (这是我认为Apple可能有错误或问题的地方 - 这不应该发生)

如果我有两个单独的XIB文件,每个文件都有自己的键盘,我会遇到类似的问题。似乎UIInputViewController不希望您完全从其超级视图中删除视图。

第三个问题:

self.inputView似乎无法正常工作。添加子视图会导致键盘崩溃,而self.view!.insertSubview似乎是让我的数字键盘出现的唯一方法

期望的结果

  1. 用户按下键盘上的123按钮
  2. 字母键盘已从superview中删除
  3. 将数字键盘添加到UIInputViewController.view
  4. 用户在数字键盘上按ABC
  5. 数字键盘已从superview中删除
  6. 将字母键盘添加到UIInputViewController.view
  7. 任何人都可以在键盘扩展程序上成功添加和删除MULTIPLE视图吗?

2 个答案:

答案 0 :(得分:0)

UIInputViewcontroller有一个名为UIInputView的{​​{1}}引用,其扩展名为inputView

UIView是您添加子视图的视图。

这会回答你的问题吗?

答案 1 :(得分:0)

我的问题与Xcode 6 Beta 2问题有关。您现在可以在Xcode Beta 3中正确加载XIB文件。

本教程将逐步完成: http://verisage.us/blog/2014/07/17/ios-8-custom-keyboard-swift-tutorial/