如何将自定义视图添加到JSQMessagesViewController单元格,以便它包含一个视图与一些button和文本视图?
我正在使用https://github.com/jessesquires/JSQMessagesViewController/issues/1820此库用于聊天应用程序。 通过使用这个库,我能够发送图像和video,但我的应用程序需要发送一个button和文本一个视图。 就像用户发送一些文本一样,它会以文本和button的forms显示给其他人,然后当有人点击button时,会产生一个推送通知。 我无法弄清楚,我怎么能做到这一点。
这里是我想要我的自定义视图的屏幕截图。 它有一些文本用户键入,并有2个button接受和拒绝。
我build议你为此创build自己的自定义视图。 您可以使用JSQIncomingCollectionViewCell.xib
或JSQOutgoingCollectionViewCell.xib
作为自己的模板。
- 从示例项目中复制它们并将其粘贴到您自己的项目中
- 将文件重命名为其他类似于
CellWithConfimationButtons
的文件 -
在你的ChatViewController中,即你所谓的视图是“JSQMessagesViewController”的子类。 添加这两行
self.collectionView.registerNib(UINib(nibName:“CellWithConfimationButtons”,bundle:nil),forCellWithReuseIdentifier:“outgoingCell”)UIAib(nibName:“CellWithConfimationButtons”,bundle:nil),forCellWithReuseIdentifier:“incomingCell”
-
现在你可以将你的button添加到xib文件
-
添加约束条件,使其自我完善。
-
设置你的图片为那些,然后你需要使你的文件支持这个家伙。 就像
JSQMessagesCollectionViewCellOutgoing.m
和JSQMessagesCollectionViewCellOutgoing.h
然后,你需要添加你的IBOutlets
的button,并添加在该文件中的动作和逻辑
那么你需要设置一个标志或某种方式确定消息是这种types的消息与button。
- 然后在你的
collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath)
你检查那个标志,并得到你的牢房
if message.flag == true let cell = collectionView.dequeableCellWithIdentifier("incomingCell")
然后设置一切。
我希望有帮助。 让我知道如果我可以帮助更多。 😜