我正在嘗試創建一個聊天應用程序,並且正在使用JSQMessagesViewController庫。 我的聊天視圖顯示與他們的日期和時間的所有消息,但我正面臨着這個庫的一些小問題。 我的問題是我想只顯示消息日期一次。 假設: 昨天日期包含10個信息 今天日期包含15個信息如何在JSQMessagesViewController中顯示消息日期
2
A
回答
3
那麼你需要確定消息是否是當天的第一個。然後返回所有其他人爲零,直到新的一天。
我創建了一個函數來確定我的消息是第一個由人發出的。它看起來像這樣
func firstMessageOfTheDay(indexOfMessage: NSIndexPath) -> Bool {
let messageDate = messages[indexOfMessage.item].date
guard let previouseMessageDate = messages[indexOfMessage.item - 1].date else {
return true // because there is no previous message so we need to show the date
}
let day = Calendar.current.component(.day, from: messageDate)
let previouseDay = Calendar.current.component(.day, from: previouseMessageDate)
if day == previouseDay {
return false
} else {
return true
}
}
然後在相應的函數中調用它。希望有助於讓我知道你是否有其他問題。
1
使用此方法來做到這一點。
func collectionView(collectionView: JSQMessagesCollectionView, attributedTextForCellTopLabelAtIndexPath indexPath: NSIndexPath) -> NSAttributedString? {
你必須檢查消息的日期,如果日期是不同的以哪種方式你想要否則返回零則上一條消息的日期返回日期。
相關問題
- 1. 消息不顯示在JSQMessagesViewController(swift)
- 2. 如何使用JSQMessagesViewController顯示消息詳細信息
- 3. JSQMessagesViewController顯示每條消息的消息時間
- 4. 超鏈接在JSQMessagesViewController消息
- 5. 在JSQMessagesViewController中顯示LocationMediaItem
- 6. JSQMessagesViewController消息視圖錯誤
- 7. Spark:顯示日誌消息
- 8. 如何在asp.net頁面中僅顯示某些日期的彈出消息
- 9. 如何在secondActivity中顯示Toast消息?
- 10. 如何在logcat中顯示長消息
- 11. 如何在Maven中顯示消息
- 12. 如何在Swift中的JSQMessagesViewController中添加日期標籤
- 13. 如何獲取日誌消息以顯示在Spock報告中?
- 14. 如何在xcode中顯示日誌消息4.2.1 CONSOL窗口
- 15. 如何在Android中啓動活動時顯示日誌消息
- 16. 如何在openerp Web客戶端中顯示日誌消息?
- 17. log4j消息日誌中沒有顯示
- 18. 如何顯示Toast消息?
- 19. PHPmailer如何顯示消息
- 20. android - 如何顯示消息
- 21. 如何僅在PHP中顯示日期?
- 22. 如何正確顯示聊天消息框中的日期和時間
- 23. 在ExtJs中顯示消息
- 24. 工具欄不顯示在JSQMessagesViewController中
- 25. 在NSDatePicker中顯示日期和日期
- 26. 如何在POV顯示中顯示不同的消息?
- 27. 如何在控制檯上顯示日誌消息?
- 28. 如何在峯值期間實時顯示消息
- 29. 如何在Telerik RadCalendar控件中顯示日期日期
- 30. 如何顯示消息框在MVVM
感謝丹尼爾其真正完美的答案,我需要 –
我很高興它幫助 –
嗨Umesh製作,你可以發表你的整個代碼用於顯示日期嗎?我找不到像你這樣的方式 –