作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试制作一个聊天应用程序,并且我正在使用 JSQMessagesViewController 库。我的聊天 View 显示所有消息及其日期和时间,但我在这个库中遇到了一些小问题。我的问题是我只想显示消息日期一次。认为:昨天日期包含 10 条消息今天日期包含 15 条消息
最佳答案
您需要确定消息是否是当天的第一条消息。然后为所有其他人返回零,直到新的一天。
我创建了一个函数来确定我的消息是否是该人最先发送的。看起来像这样
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
}
}
然后在适当的函数中调用它。如果您有任何其他问题,希望这有助于让我知道。
关于ios - 如何在 JSQMessagesViewController 中显示消息日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39341560/
我是一名优秀的程序员,十分优秀!