Customize iOS UI Kit Builder components with CometChatBuilderSettings, themes, feature toggles, and UI behavior.
The CometChatBuilderSettings object handles feature toggles and styling configuration. For deeper customizations, you can access settings directly and apply them to CometChat UI components.
import CometChatUIKitSwift// Set custom font familyCometChatTypography.customFontFamilyName = "Helvetica"
This is the same CometChatTypography.customFontFamilyName property the JSON loader sets from style.typography.font. For the full typography and font-scaling API, see Theming.
Map Builder feature flags onto the message list’s visibility properties. Reactions and in-thread replies are controlled by hideReactionOption and hideReplyInThreadOption:
import CometChatUIKitSwiftlet messageListConfiguration = MessageListConfiguration()// Hide the reaction option when reactions are disabled in the BuildermessageListConfiguration.hideReactionOption = !CometChatBuilderSettings.shared.chatFeatures.deeperUserEngagement.reactions// Hide the "reply in thread" option when threads are disabled in the BuildermessageListConfiguration.hideReplyInThreadOption = !CometChatBuilderSettings.shared.chatFeatures.coreMessagingExperience.threadConversationAndReplieslet messagesVC = CometChatMessages()messagesVC.set(messageListConfiguration: messageListConfiguration)
import CometChatUIKitSwiftlet composerConfiguration = MessageComposerConfiguration()// Hide the attachment button when no media sharing is enabled in the BuildercomposerConfiguration.hideAttachmentButton = !( CometChatBuilderSettings.shared.chatFeatures.coreMessagingExperience.photosSharing || CometChatBuilderSettings.shared.chatFeatures.coreMessagingExperience.videoSharing || CometChatBuilderSettings.shared.chatFeatures.coreMessagingExperience.fileSharing)// Hide the voice recording button when voice notes are disabled in the BuildercomposerConfiguration.hideVoiceRecordingButton = !CometChatBuilderSettings.shared.chatFeatures.deeperUserEngagement.voiceNoteslet messagesVC = CometChatMessages()messagesVC.set(messageComposerConfiguration: composerConfiguration)
These properties are part of the standard iOS UI Kit. For the full list of configurable options on each component, see Message List and Message Composer.
The Builder settings sit on top of the standard CometChat iOS UI Kit, so every UI Kit customization layer is still available to you. Reach for these when the JSON style block and feature toggles aren’t enough:
Theme
Global colors, typography, and dark mode via CometChatTheme and CometChatTypography.
Component Styling
Style individual components (header, list, composer) with style classes, globally or per instance.
Message Template
Define custom message bubbles with your own content, header, and reply views.
Components Overview
Every prebuilt component and its configuration object.