Я создаю приложение для чата, и в этом я использовал jsqmessageviewcontroller для отображения чата, но столкнулся с одной проблемой в чате. Первый элемент - это вложение, как изображение, pdf et c, затем время не отображается. если первый элемент - текст, то время отображается правильно. Так что у кого-нибудь есть идея, пожалуйста, помогите мне. Для прикрепления используются пользовательские ячейки.
Для отображения метки времени используется следующий метод: -
override func collectionView(_ collectionView: JSQMessagesCollectionView, attributedTextForCellTopLabelAt indexPath: IndexPath) -> NSAttributedString?
{
let message = self.messages[indexPath.item]
let messageVMObj = MessageViewModal(withMessage: message)
if(indexPath.item == 0){
print("indexPath.item == 0 called")
return messageVMObj.setDay()
} else {
let currentMessage = self.messages[indexPath.item]
let previousMessage = self.messages[indexPath.item - 1]
if DateExtension().compareDates(currentDate: currentMessage.date, previousDate: previousMessage.date)
{
return nil
}
else
{
return messageVMObj.setDay()
}
}
}
override func collectionView(_ collectionView: JSQMessagesCollectionView, layout collectionViewLayout: JSQMessagesCollectionViewFlowLayout, heightForCellTopLabelAt indexPath: IndexPath) -> CGFloat {
let message = self.messages[indexPath.item]
let messageVMObj = MessageViewModal(withMessage: message)
//set height for group Msg Tag
if isGroup {
let msg = self.messages[indexPath.item]
if msg.gpMessageType != "" {
return 0.0
}
}
if(indexPath.item == 0){
return 20.0
} else {
let currentMessage = self.messages[indexPath.item]
let previousMessage = self.messages[indexPath.item - 1]
if DateExtension().compareDates(currentDate: currentMessage.date, previousDate: previousMessage.date)
{
return 0.0
}
else
{
return 20.0
}
}
}
Так что, если есть какое-то решение для этого, пожалуйста, помогите мне.
Спасибо.