Framework: iOS UI Kit
Version:
pod 'CometChatUIKitSwift', '4.3.15'
Customizing DateSeparator Style in Message List
This comprehensive guide will walk you through customizing the DateSeparator style in your message list using CometChat’s UI Kit for iOS.
Step-by-Step Instructions
1. Define a Custom DateStyle
First, create a custom DateStyle
object and configure its appearance by setting the title color, font, background color, border width, border color, and corner radius.
let dateStyle = DateStyle()
.set(titleColor: .white)
.set(titleFont: .boldSystemFont(ofSize: 14))
.set(background: .black)
.set(borderWidth: 3)
.set(borderColor: .systemCyan)
.set(cornerRadius: CometChatCornerStyle(cornerRadius: 5))
2. Create a MessageListConfiguration
Next, create a MessageListConfiguration
object and assign the customized dateStyle
to it.
let messageListConfiguration = MessageListConfiguration()
.set(dateSeparatorStyle: dateStyle)
3. Create a MessagesConfiguration
Create a MessagesConfiguration
object and pass the messageListConfiguration
to it.
let messagesConfiguration = MessagesConfiguration()
.set(messageListConfiguration: messageListConfiguration)
4. Configure CometChatConversationsWithMessages
Finally, use the CometChatConversationsWithMessages component to apply and view the updated style. Push this component to the navigation controller to display the changes.
let cometChatConversationsWithMessages = CometChatConversationsWithMessages()
.set(messagesConfiguration: messagesConfiguration)
self.navigationController?.pushViewController(cometChatConversationsWithMessages, animated: true)
Full Implementation Code
Here’s the complete implementation for customizing the DateSeparator style:
let dateStyle = DateStyle()
.set(titleColor: .white)
.set(titleFont: .boldSystemFont(ofSize: 14))
.set(background: .black)
.set(borderWidth: 3)
.set(borderColor: .systemCyan)
.set(cornerRadius: CometChatCornerStyle(cornerRadius: 5))
let messageListConfiguration = MessageListConfiguration()
.set(dateSeparatorStyle: dateStyle)
let messagesConfiguration = MessagesConfiguration()
.set(messageListConfiguration: messageListConfiguration)
let cometChatConversationsWithMessages = CometChatConversationsWithMessages()
.set(messagesConfiguration: messagesConfiguration)
self.navigationController?.pushViewController(cometChatConversationsWithMessages, animated: true)