如何将 UITextView 连接到自制键盘?
Posted
技术标签:
【中文标题】如何将 UITextView 连接到自制键盘?【英文标题】:How to connect UITextView to a home made keyboard? 【发布时间】:2012-03-06 09:28:47 【问题描述】:我有一个 UITextView 字段,用于接收来自键盘的输入。
但是标准键盘对于我的应用来说不够用,我用我需要的按钮和字符构建了另一个键盘。
我通常会使用 UITextViewDelegate 协议并且一切正常。 但在这种情况下,如何连接 UITextView 字段和我的新键盘? 有没有“最好的方法”?
提前感谢您提供任何相关信息。
【问题讨论】:
【参考方案1】:将您的自定义视图设置为UITextView
的inputView
。
// 编辑:附加信息:
您的自定义键盘将是一组按钮。您可以为所有这些按钮添加相同的选择器作为目标。你的回调可能是:
- (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 中隐藏键盘?
如何将 UITableViewCell 中的 UITextView 滚动到键盘顶部?