键盘扩展:是否可以从库存iOS键盘继承功能和UI?

时间:2014-09-23 20:29:14

标签: ios objective-c keyboard ios8 ios-app-extension

Custom Keyboard Extensions是iOS 8中一款功能强大的新工具,可让您实现iOS 8键盘不具备的键盘功能。

然而,iOS键盘的库存已经非常好了。它作为唯一的iOS键盘已经有多年的发展,因此有许多(实现成本很高)的功能,人们期望从他们的键盘。

我有兴趣实现几个小键盘功能,但也想保留普通iOS 8键盘的主要UI和功能。

例如,不是在新的自动完成区域中建议单词列表,键盘扩展名可以建议表情符号列表。

Keymoji screenshot

Keymoji创建了这个键盘,但似乎手动复制了iOS键盘的外观而不是继承它。在键盘上键入时有许多小的差异。这创造了一种不可思议的山谷般的体验,在键盘上打字,这种键盘与iOS键盘非常相似,但并不完全相同。

实现键盘侦听器,表情符号查找和仅限于自动完成区域的自定义UI是理想的。其他功能和UI将由股票键盘处理。

或者您是否也在(重新)实现自动完成,大小写,调整点击目标的大小,个别键的UI以及人们对键盘的其他许多功能?

自定义键盘扩展程序是否可以免费获得这些功能"?

1 个答案:

答案 0 :(得分:4)

系统键盘的整个内部实现目前是私有API,开发人员无法使用。某些功能无法完全复制,因为系统键盘托管在用户应用程序进程中,而键盘扩展程序则在辅助进程中进行了旋转。键盘扩展的视图层次结构将在进程外呈现,并使用XPC在用户应用程序上绘制。

尽管键盘扩展有任何限制,但可以向用户提供许多默认功能,例如视图,预测性输入API等。例如,这有助于实现切换键盘之间的一致性。

确保open a bug report与Apple合作,让他们了解他们解决方案的当前缺点,以及您认为对开发人员有何益处。在这里发布错误报告编号(雷达),以便其他开发人员可以复制错误报告,并让Apple相应地优先考虑。