iOS 8 键盘扩展 - UIInputViewController 无法添加多个视图 [关闭]
Posted
技术标签:
【中文标题】iOS 8 键盘扩展 - UIInputViewController 无法添加多个视图 [关闭]【英文标题】:iOS 8 Keyboard Extension - UIInputViewController can't add multiple views [closed] 【发布时间】:2014-07-10 18:48:36 【问题描述】:我认为键盘扩展上的 UIInputViewController 有一些限制。
第一个问题:
我从不向 inputView 或视图添加子视图,但是当我从 nib 创建视图实例时,它会自动将该视图设置为默认视图。不正常。
第二个问题:
我在一个 XIB 文件中有两个单独的视图。
一个用于字母键盘(及其子视图),另一个用于数字键盘(及其子视图)。我可以让这个键盘出现的唯一方法是使用:
self.view!.insertSubview(self.mainViewNumberKeyboard, aboveSubview: self.mainViewLetterKeyboard)
这使它可见,但视图不接受用户交互。来自底层字母键盘的键会拦截所有视图。
如果我这样做 self.mainviewLetterKeyboard.hidden = true
两个视图都会消失(字母和数字键盘)。 (这是我认为 Apple 可能存在错误或问题的地方 - 这不应该发生)
如果我有两个单独的 XIB 文件,每个文件都有自己的键盘,我也会遇到类似的问题。看来 UIInputViewController 不希望您从其父视图中完全删除视图。
第三个问题:
self.inputView 似乎不起作用。添加子视图会导致键盘崩溃,而 self.view!.insertSubview 似乎是让我的数字键盘出现的唯一方法
期望的结果
-
用户按下键盘上的 123 按钮
字母键盘已从超级视图中移除
UIInputViewController.view 中添加了数字键盘
用户按数字键盘上的 ABC
数字键盘已从超级视图中移除
UIInputViewController.view 中添加了字母键盘
任何人成功地在键盘扩展上添加和删除 MULTIPLE 视图?
【问题讨论】:
是的,我做到了。我没有使用 NIB 来创建我的键盘按钮及其视图。一切仅通过代码完成。 【参考方案1】:UIInputViewcontroller
有一个名为 inputView
的 UIInputView
引用,它扩展了 UIView
。
inputView
是您添加子视图的视图。
这能回答你的问题吗?
【讨论】:
没有。我知道这个。我所说的(上述问题之一)是 inputView 无法正常工作【参考方案2】:我的问题与 Xcode 6 Beta 2 问题有关。您现在可以在 Xcode Beta 3 中正确加载 XIB 文件。
本教程将逐步完成: http://verisage.us/blog/2014/07/17/ios-8-custom-keyboard-swift-tutorial/
【讨论】:
你的链接好像坏了...code.tutsplus.com/tutorials/…以上是关于iOS 8 键盘扩展 - UIInputViewController 无法添加多个视图 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章