使用 JSQMessageViewController 隐藏 AvatarImage 导致白色间隙

Hide AvatarImage with JSQMessageViewController is causing white gaps

我正在使用 JSQMessageViewControllers 库来实现聊天视图。但是,我想在聊天中隐藏头像。

根据以下文档。 http://cocoadocs.org/docsets/JSQMessagesViewController/7.2.0/Protocols/JSQMessagesCollectionViewDataSource.html#//api/name/collectionView:avatarImageDataForItemAtIndexPath:

我只需要在下面的函数中 return nil。

override func collectionView(collectionView: JSQMessagesCollectionView!, avatarImageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageAvatarImageDataSource! {
    return nil
}

然而,在 returning nil 之后。原始头像位置的每条消息都有空格。 chat image

我们如何去除空格?

我通过在我的 JSQMessageViewController 子类中设置以下属性来删除空格解决了这个问题。

collectionView?.collectionViewLayout.incomingAvatarViewSize = CGSizeZero
collectionView?.collectionViewLayout.outgoingAvatarViewSize = CGSizeZero

在视图中加载设置

collectionView?.collectionViewLayout.incomingAvatarViewSize = .zero collectionView?.collectionViewLayout.outgoingAvatarViewSize = .zero .zero 来自 CoreGraphics CGSize