0

我正在尝试从嵌入在NSAttributedString. 我正在使用最新版本的MessageKit. 我正在使用 function didSelectURL,但它似乎没有到达代码的那部分。我遇到了这个解决方案,但我想跟进如何设置 MessageLabelDelegate。就像在链接的解决方案中一样,我已经实现了委托方法detectorAttributesenabledDetectors.

我目前已将 MessageLabelDelegate 设置为我的 ViewController 的扩展,但它似乎从未达到这些方法。

extension ChatViewController:MessageLabelDelegate {

func didSelectURL(_url: URL) {
// .. open URL
}

}

它似乎被扩展didTapMessage中的方法覆盖。MessageCellDelegate我尝试浏览 MessageKit 存储库中的示例代码,但仍不清楚它的设置方式或我做错了什么。

更新:问题是我声明 NSAttributedString 的方式。我将其值设置为字符串而不是 URL。

4

1 回答 1

0

MessageCellDelegate 实现了 MessageLabelDelegate,因此您需要确保将 messagesCollectionView.messageCellDelegate 设置为 ChatViewController,并且 ChatViewController 具有 MessageCellDelegate 的扩展名,您可以在其中放置 didSelectURL

public protocol MessageCellDelegate: MessageLabelDelegate {
于 2020-06-02T19:51:14.607 回答