0

我正在尝试在我的应用程序中使用 MessageKit,并且我有视图加载和显示消息。

但是,“发送”按钮永远不会触发 messageInputBar 委托,我不确定为什么。没有什么可挂钩的,如果我降级到版本 1.0.0,它会在您按下发送时工作并触发,升级到最新版本并且它会中断。

import UIKit
import MessageKit
import InputBarAccessoryView

private var messages: [Message] = []

class InboxThreadViewController: MessagesViewController, MessageInputBarDelegate {

    @objc public var myValue:String?
    private var messages: [Message] = []
    override func viewDidLoad() {
        super.viewDidLoad()


        messageInputBar.delegate = self
        messagesCollectionView.messagesDataSource = self
        messagesCollectionView.messagesLayoutDelegate = self
        messagesCollectionView.messagesDisplayDelegate = self
        title = "MessageKit"

func messageInputBar(_ inputBar: MessageInputBar, didPressSendButtonWith text: String) {
        print("Message : \(text)")
        NSLog("HELLO")
    } 
    }
4

2 回答 2

1

要解决此问题,您必须扩展 InputBarAccessoryViewDelegate 协议而不是 MessageInputBarDelegate。为了使您的代码更优雅,请按以下方式进行:

class InboxThreadViewController: MessagesViewController { .. }

extension InboxThreadViewController: InputBarAccessoryViewDelegate {
  func inputBar(_ inputBar: InputBarAccessoryView, didPressSendButtonWith text: String) {
    //Handle message input text here
  }
}
于 2019-09-19T09:48:35.080 回答
1

我的 MessageKit (3.0.0) 正在工作,

前:

func messageInputBar(_ inputBar: MessageInputBar, didPressSendButtonWith text: String) 

后:

func inputBar(_ inputBar: InputBarAccessoryView, didPressSendButtonWith text: String)
于 2019-11-17T12:08:07.000 回答