如何将 UITextView 连接到自制键盘?

Posted

技术标签:

【中文标题】如何将 UITextView 连接到自制键盘?【英文标题】:How to connect UITextView to a home made keyboard? 【发布时间】:2012-03-06 09:28:47 【问题描述】:

我有一个 UITextView 字段,用于接收来自键盘的输入。

但是标准键盘对于我的应用来说不够用,我用我需要的按钮和字符构建了另一个键盘。

我通常会使用 UITextViewDelegate 协议并且一切正常。 但在这种情况下,如何连接 UITextView 字段和我的新键盘? 有没有“最好的方法”?

提前感谢您提供任何相关信息。

【问题讨论】:

【参考方案1】:

将您的自定义视图设置为UITextViewinputView

// 编辑:附加信息:

您的自定义键盘将是一组按钮。您可以为所有这些按钮添加相同的选择器作为目标。你的回调可能是:

- (void) buttonTouched: (UIButton*) button

    myTextView.text = [myTextView.text stringByAppendingString: button.text];

【讨论】:

非常感谢这个提示。在网上搜索 inputView 和 UITextView 让我觉得你肯定让我走上了正确的轨道。尽管在我的 UITextView 真正从我的自定义键盘获得输入之前,我还有很多工作要做。由于我以前从未这样做过,所以在这个过程中有很多我不知道如何处理的细节。就像我如何处理自定义键盘上的按键事件和其他事情一样。有一个小而清晰的样本会很好,但我还没有找到。 我可以在这里看到关于 IBAction 的逻辑。我猜你叫什么: - (void) buttonTouched: (UIButton*) button;和我所说的一样:-(IBAction) kbdButtonHandle:(id)sender;在我的自定义键盘类中。告诉我我是否错了。但是在您的示例中如何声明 myTextView ?我想它指向 UITextView 实例。因为键盘实例不知道 UITextView 实例(如果我错了再告诉我);我不太明白链接在哪里。 你必须自己做。当您设置 inputView (myCustomKeyboard.inputView = myCustomKeyboard) 时,您还可以在键盘类中设置 textView。例如:[myCustomKeyboard setTextView: theTextView]; 谢谢。我将尝试找到更多信息和实验。我并没有完全关注最后一条评论,但也许让我的自定义键盘成为 UIView 的子类已经是一个错误。 不,这不是一个错误。只需向您的键盘类添加一个属性,您可以在其中设置一个 UITextView,它将在您的kbdButtonHandle: 中使用。欢迎提出更多问题。

以上是关于如何将 UITextView 连接到自制键盘?的主要内容,如果未能解决你的问题,请参考以下文章

创建 UITextView 时,如何在实时视图中显示的 Swift Playgrounds(在 Xcode 上)的 UI 中隐藏键盘?

妙控键盘如何连接到 Macbook--小技巧

如何在 .ui 文件中手动将信号连接到插槽?

如何将 UITableViewCell 中的 UITextView 滚动到键盘顶部?

无法在 127.0.0.1:6379 连接到 Redis:使用自制软件拒绝连接

UITextView如何将光标保持在键盘上方