【发布时间】:2012-02-08 07:35:14
【问题描述】:
好的,我已经看了又看,我想我错过了一些关于自定义键盘和将文本插入 UITextField 的内容。像许多人一样,我正在创建一个UIView 自定义键盘,并在自定义UIButtons 上使用我自己的一组键帽。然后我将此视图分配给 UITextField 的inputView,然后当该文本字段成为第一响应者时,我的键盘会弹出。在键盘内部,我捕获按钮操作并将它们转换为按键操作。
但是从这里开始,我对如何最好地将击键发送到文本字段感到困惑。我见过很多例子,比如iOS Custom Keyboard Updating Text Field In Parent View 和Return Inputs To UITextfield With Custom Inputview 和How To Push Key Value Into UITextView From Custom Keyboard In iOS,其中的解决方案似乎是在自定义视图中嵌入一个指向目标UITextField 的指针。
这对我来说似乎不对,至于多个 UITextFields 要么我必须在新文本字段成为第一响应者时手动更改单个自定义键盘上的引用,或者我必须随身携带匹配的自定义我想支持的每个文本字段的键盘。
在我看来,键盘应该只是将触摸转换为标记并将这些标记发送到线路上,以由接收它们的人(第一响应者?)进行解释。 iPad For iPhone Developers 101 Custom Input View Tutorial 似乎这样做了,但创建了一个自定义协议来这样做。我想(实际上是一个 SWAG - Scientific Wild Arsed Guess)标准的 iOS 键盘是这样操作的,但是使用特定的协议来传递击键。所以我想要做的是手动生成与标准键盘相同的事件/消息链。
那么我该怎么做呢?或者我什至可以使用公共 API 来做到这一点?还是标准键盘的操作与 UITextField 绑定的太紧了?
【问题讨论】:
-
我知道这个问题很老了,但我创建了一个完整的、有效的、开源的例子来说明如何做到这一点,叫做 Numberpad,并将它放在Github
标签: ios keyboard uitextfield