在 inputBarAccessoryView 中按下发送后如何清除 MessageKit inputBar 中的文本

问题描述

我正在构建一个实时聊天应用程序。我使用消息工具包和 inputbaraccessoryview 库在 2 个用户之间进行对话。

我用过 -

extension ChatViewController: inputbaraccessoryviewDelegate {
 func inputBar(_ inputBar: inputbaraccessoryview,didPressSendButtonWith text: String) {
  // message sending logic
 }
}

这个委托函数,但是当我按下发送按钮时,消息被发送,但文本仍然保留在 inputBar 中,它没有被清除。

如何在用户单击发送按钮时清除 inputBar 文本?

解决方法

我在 this question's answer 中找到了解决方案。

添加这一行 -

inputBar.inputTextView.text = ""

func inputBar(_ inputBar: InputBarAccessoryView,didPressSendButtonWith text: String) 函数的末尾,在点击发送按钮后清除文本。

extension ChatViewController: InputBarAccessoryViewDelegate {
func inputBar(_ inputBar: InputBarAccessoryView,didPressSendButtonWith text: String) {
  // all the message sending logic

  // last line
  inputBar.inputTextView.text = ""
 }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...