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

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

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

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

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

【问题讨论】:

    标签: ios ios4 uitextfield uitextview uitextviewdelegate


    【解决方案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: 中使用。欢迎提出更多问题。
    猜你喜欢
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多