如何在MessageKit中发送消息时实现有关错误的信息? 当消息不发送时,我需要显示信息。有什么想法吗?
答案 0 :(得分:2)
如何在 MessageKit 中发送消息时实现有关错误的信息?
要使用 MessageKit 显示有关邮件的信息,您需要使用accessoryView
,这是邮件左侧或右侧的视图,您可以在其中添加按钮或图片以显示信息。您可以显示类似的信息
在MessagesDisplayDelegate
中,您可以实现方法configureAccessoryView
下面是一个示例: 在此示例中,我们只需向视图添加按钮
func configureAccessoryView(_ accessoryView: UIView,
for message: MessageType,
at indexPath: IndexPath,
in messagesCollectionView: MessagesCollectionView) {
// Remove old views from the previous use
accessoryView.subviews.forEach { $0.removeFromSuperview() }
// Handle retry logic, you can display this button only if the upload fail as example
let button = UIButton(type: .infoLight)
button.tintColor = .red
accessoryView.addSubview(button)
button.frame = accessoryView.bounds
button.isUserInteractionEnabled = false // respond to accessoryView tap through `MessageCellDelegate`
accessoryView.layer.cornerRadius = accessoryView.frame.height / 2
}
要检测对accessoryView
的点击,可以在委托人didTapAccessoryView
中实现MessageCellDelegate
func didTapAccessoryView(in cell: MessageCollectionViewCell) {
guard let indexPath = messagesCollectionView.indexPath(for: cell) else { return }
// Handle tap here
// As example here in my apps I display an actionSheet to cancel or retry
}
您可以使用另一个示例here
注意:重试的请求部分不是 MessageKit 的一部分,只有聊天界面是 MessageKit 的工作< / p>
希望我的回答对您有帮助