Xcode:仅为我自己的应用程序创建自定义键盘

Posted

技术标签:

【中文标题】Xcode:仅为我自己的应用程序创建自定义键盘【英文标题】:Xcode: Creating a custom keyboard just for my own app 【发布时间】:2015-02-22 10:19:55 【问题描述】:

我正在开发一个数学应用程序。所以我需要一个特定的键盘。 我只能使用小数点,但缺少正/负(“+/-”)按钮。

现在我想编写一个自定义键盘或者我想编辑小数点。哪个更容易?

如果我要编写自己的自定义键盘,我可以使用自定义键盘扩展程序还是必须为单独视图中的每个数字创建一个带有按钮的视图?

因为我需要在许多不同视图上使用键盘:是否有可能使用键盘创建视图并在其他视图之上的容器视图中显示键盘视图?

希望你能得到我的挣扎。

【问题讨论】:

【参考方案1】:

是的,您可以创建自己的键盘类(继承 UIView),.xib + Auto Layout 将帮助您使其更加灵活。假设你在UITextField 中使用它,那么你可以设置这个Text FieldinputView,这样就会有你的自定义键盘而不是基本键盘。

【讨论】:

" 那么你可以设置inputView 这个Text Field,这样你的自定义键盘就会比基本键盘多了。"您能否详细说明或提供一些代码?【参考方案2】:

现在我想编写一个自定义键盘或者我想编辑小数点。哪个更容易?

自定义键盘会更简单,因为它是私有 api,因此您无法访问小数点。

如果我要编写自己的自定义键盘,我可以使用自定义键盘扩展程序还是必须为单独视图中的每个数字创建一个带有按钮的视图?

我不确定您是否使用键盘扩展,我认为您指的是App Extension,在这种情况下您应该查看Custom Keyboard 部分。如果您想为您的应用构建键盘,请查看 ios 文本编程指南的“Custom Views For Data Input”部分。

无论哪种方式,您都愿意为键盘显示的每个字符创建一个按钮。

因为我需要在许多不同视图上使用键盘:是否有可能使用键盘创建视图并在其他视图之上的容器视图中显示键盘视图?

如果您为文本输入创建自定义视图,您通常会将自定义视图指定为您使用的 UItextField 或 UITextView 的输入视图。这将在键盘通常所在的位置显示您的自定义视图。如果您需要不同的布局,则必须处理文本输入视图和自定义键盘视图之间的关系。

【讨论】:

以上是关于Xcode:仅为我自己的应用程序创建自定义键盘的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Swift在Xcode上创建自定义数字键盘? [关闭]

如何仅为我的自定义 vue 组件包含外部 css 文件?

我可以为我的应用禁用自定义键盘 (iOS8) 吗?

为备用键创建自定义弹出键盘

自定义键盘应用程序扩展未出现在 Xcode 中

iOS自定义数字键盘