gpt4 book ai didi

iOS 使自定义键盘为 UITextField 生成标准击键

转载 作者:可可西里 更新时间:2023-11-01 03:34:42 26 4
gpt4 key购买 nike

好吧,我看了又看,我想我遗漏了一些关于自定义键盘和将文本插入 UITextField 的内容。像许多人一样,我正在创建一个 UIView 自定义键盘,在自定义 UIButtons 上使用我自己的一组键帽。然后,我将此 View 分配给 UITextField 的 inputView,然后当该文本字段成为第一响应者时,我的键盘会弹出。在键盘内部,我捕获按钮操作并将它们转换为击键。

但从这里开始,我对如何最好地将击键发送到文本字段感到困惑。我见过很多这样的例子 iOS Custom Keyboard Updating Text Field In Parent ViewReturn Inputs To UITextfield With Custom InputviewHow To Push Key Value Into UITextView From Custom Keyboard In iOS解决方案似乎是在自定义 View 中嵌入指向目标 UITextField 的指针。

这对我来说似乎不对,对于多个 UITextFields 要么我必须在新文本字段成为第一响应者时手动更改单个自定义键盘上的引用,要么我必须为我想要支持的每个文本字段携带匹配的自定义键盘。

在我看来,键盘应该只是将触摸转化为标记并将这些标记发送到线路上,以供接收它们的人(第一响应者?)解释。 iPad For iPhone Developers 101 Custom Input View Tutorial似乎是这样做的,但是创建了一个自定义协议(protocol)来这样做。我想象(实际上是 SWAG - 科学狂野猜测)标准的 iOS 键盘是这样操作的,但使用特定的协议(protocol)来传递击键。所以我想要做的是手动生成与标准键盘相同的事件/消息链。

那我该怎么做呢?或者我什至可以使用公共(public) API 来做到这一点吗?或者标准键盘的操作是否与 UITextField 绑定(bind)得太紧?

最佳答案

这是一个非常开放的问题。真的,这取决于你选择你想要的。 Apple's documentation声明如下:

The subviews of an input view and input accessory view can be anything you want. If they are buttons or other controls, you need to specify targets and actions for each control and implement the associated action methods to perform data input or manipulation.

您还可以创建一个 UITextField 子类并显式实现 inputView 的 getter 以返回指向您的自定义键盘 View 类的指针。在这个 getter 中,您可以按照之前的建议设置类似 UIControl 的目标/操作系统。这样做就不需要从外部设置自定义键盘——所有这些都在内部处理。它还将该代码放在一个地方。

一旦自定义文本字段退出第一响应者,您就可以将文本字段的指针从键盘上剥离。

关于iOS 使自定义键盘为 UITextField 生成标准击键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8827864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com