MessageKit:将手势识别器添加到 messageCollectionView 和 cellDelegate 不起作用
Posted
技术标签:
【中文标题】MessageKit:将手势识别器添加到 messageCollectionView 和 cellDelegate 不起作用【英文标题】:MessageKit : Add Gesture recognizer to messageCollectionView and cellDelegate doesn't work 【发布时间】:2019-01-30 18:04:21 【问题描述】:我正在使用 messageKit 以文本格式显示消息、视频和照片,并且所有消息都是预定义的。当用户点击屏幕时,应该显示下一条消息。我已经向 messageCollectionView 添加了手势识别器,但是当用户点击图像时,我需要全屏显示图像。但是单元委托永远不会被调用
let gesture = UITapGestureRecognizer(target: self, action: #selector(MessageViewController.tapScreen(_:)))
messagesCollectionView.addGestureRecognizer(gesture)
messagesCollectionView.messagesDataSource = self
messagesCollectionView.messagesLayoutDelegate = self
messagesCollectionView.messagesDisplayDelegate = self
messagesCollectionView.messageCellDelegate = self
我正在使用最新的 messageKit
pod 'MessageKit'
知道如何实现吗?
为了进一步说明,这里是屏幕的图像。点击任意位置应该调用手势函数,但是图片应该调用cellDelegate。
【问题讨论】:
***.com/questions/27880607/… -> 在 UIView、UIImageView 和 UIView 的所有子级等上使用轻击手势。 【参考方案1】:你可以调用 Messagekit 提供的这个方法。
extension ViewController: MessageCellDelegate
func didTapAvatar(in cell: MessageCollectionViewCell)
print("Avatar tapped")
func didTapMessage(in cell: MessageCollectionViewCell)
// handle message here
print("Meesage Tapped")
【讨论】:
以上是关于MessageKit:将手势识别器添加到 messageCollectionView 和 cellDelegate 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionView:将单击手势识别器添加到补充视图
将滑动手势识别器添加到 DetailViewContoller