如何将自定义视图添加到JSQMessagesViewController单元格,以便它包含一个视图与一些button和文本视图?

我正在使用https://github.com/jessesquires/JSQMessagesViewController/issues/1820此库用于聊天应用程序。 通过使用这个库,我能够发送图像和video,但我的应用程序需要发送一个button和文本一个视图。 就像用户发送一些文本一样,它会以文本和button的forms显示给其他人,然后当有人点击button时,会产生一个推送通知。 我无法弄清楚,我怎么能做到这一点。

在这里输入图像说明

这里是我想要我的自定义视图的屏幕截图。 它有一些文本用户键入,并有2个button接受和拒绝。

我build议你为此创build自己的自定义视图。 您可以使用JSQIncomingCollectionViewCell.xibJSQOutgoingCollectionViewCell.xib作为自己的模板。

  1. 从示例项目中复制它们并将其粘贴到您自己的项目中
  2. 将文件重命名为其他类似于CellWithConfimationButtons的文件
  3. 在你的ChatViewController中,即你所谓的视图是“JSQMessagesViewController”的子类。 添加这两行

    self.collectionView.registerNib(UINib(nibName:“CellWithConfimationButtons”,bundle:nil),forCellWithReuseIdentifier:“outgoingCell”)UIAib(nibName:“CellWithConfimationButtons”,bundle:nil),forCellWithReuseIdentifier:“incomingCell”

  4. 现在你可以将你的button添加到xib文件 与按钮的Xib

  5. 添加约束条件,使其自我完善。

  6. 设置你的图片为那些,然后你需要使你的文件支持这个家伙。 就像JSQMessagesCollectionViewCellOutgoing.mJSQMessagesCollectionViewCellOutgoing.h然后,你需要添加你的IBOutlets的button,并添加在该文件中的动作和逻辑

那么你需要设置一个标志或某种方式确定消息是这种types的消息与button。

  1. 然后在你的collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath)

你检查那个标志,并得到你的牢房

if message.flag == true let cell = collectionView.dequeableCellWithIdentifier("incomingCell")

然后设置一切。

我希望有帮助。 让我知道如果我可以帮助更多。 😜